背景:
Memcachedb现在没人维护了,还老是出问题,宕机 and 磁盘 over。
老大提出换掉它,找人研究了多日,由于忙就没音了。
算它命短,适逢设备精简,Memcachedb占着几台实体机器。
两道问题终于推动了换掉的进程。
调研:
公司利用HBase提供了存储服务化,于是就研究是否可利用HBase替换掉Memcachedb。
经研究发现:
1.Memcachedb为了弥补Memcached的持久化问题,实现了Memcached的客户端接口。
2.接口只是实现,过期的时间判断对Memcachedb来说不起作用。
3.性能方面,Memcachedb实现的是持久化,读写的是磁盘,瓶颈在磁盘,HBase在不中缓存的情况下最差也是读磁盘。因此性能不必考虑太多。
因此Memcachedb只是提供了一个持久存储的作用。
这么看来就好做了,直接替换HBase读/写就可以。(是不是很简单!!)
修改:
幸亏应用端操作Memcached的时候封装了公共类,提供了公共的jar使用。不然要找到所有使用Memcached客户端的应用,一个一个的修改。
于是将公共类中使用Memcachedb的地方都修改为使用HBase,然后发布公共包jar。
更新所有使用了Memecached的公共包jar新版本。
如果存于Memcachedb中的历史数据有用,则需要到数据。
是不是很简单!!!
其实最难的一点是决策和研究。对程序员来说修改起来,So easy。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。