Memcached故障转移测试之Magent安装

由于Memcached服务器与服务器之间没有任何通讯,并且不进行任何数据复制备份,所以当任何服务器节点出现故障时,会出现单点故障,如果需要实现高可用性,则需要通过另外的方式来解决,这就涉及到故障转移技术。所谓的故障转移,实在Memcached多节点—集群—工作环境中,面对单点故障时(比如单个节点上的数据库服务器宕机),如何进行将损失降到最低,保证缓存的正常工作?

目前比较常用的单点故障解决方案有2种:本地备份缓存和采用缓存代理服务器。本地备份缓存,是在本地放一份缓存,同时也在分布式Memcached上放一份缓存,如果当其中一台节点宕机了,客户端程序直接读取本地的缓存,本地客户端维护一个HashMap即可,这样的方案虽然很简陋,但是可以满足一部分场景的需要,当很急需的时候可以作为临时方案暂时替代一下。

采用缓存代理服务器(比如Magent可以做多主或多从)以及Repcached来进行故障失效转移,这一节先介绍采用Magent缓存代理防止单点现象。缓存代理也可以做备份,通过客户端连接到缓存代理服务器,缓存代理服务器连接缓存服务器,缓存代理服务器可以连接多台Memcached机器可以将每台Memcached机器进行数据同步。这样的架构比较完善了,如果其中一台缓存代理服务器DOWN机,系统依然可以继续工作,如果其中一台Memcached机器DOWN掉,数据不会丢失并且可以保证数据的完整性。

在客户端还是配置多台服务器,但是让其中任意的一台服务器做备份,去读取并append另外几台服务器的数据,这样依赖,该台备份服务器上就始终存储了一份完整的数据。当发生意外情况的时候,直接读取备份服务器上的数据。等服务器故障恢复后,再从客户端,将数据合理的分发出去。


1 Magent安装

下面就Magent工具进行单点故障的失效转移进行测试。

1.Magent下载

Magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/,也可以使用以下方式下载:

[root@zengxiangtao~]# cd/home
[root@zengxiangtao home]# mkdir magent
[root@zengxiangtao home]# cd magent
[root@zengxiangtao home]# wget http://memagent.googlecode.com/files/magent-0.6.tar.gz

2.Magent解压配置

[root@zengxiangtao magent]# tar zxvf magent-0.6.tar.gz
[root@zengxiangtao magent]# /sbin/ldconfig
[root@zengxiangtao magent]# sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile

4.Magent安装

[root@zengxiangtao magent]# make

在编译的过程中会出现很多错误,Magent 安装过程中报如下的错误:

解决方法是在ketama.h中添加如下红框部分的内容:

[root@zengxiangtao magent]# vi ketama.h

再次执行安装Magent出现错误“没有那个文件或目录”:

[root@zengxiangtao magent]# make

再次执行安装Magent出现错误“没有那个文件或目录”:

[root@zengxiangtao magent]# make

解决方法:如果是64bit的系统则不会在/usr/lib64/libm.a生成,如果是32bit即会有,所以,在64位机器中,还必须:

[root@zengxiangtao magent]# ln-s/usr/lib64/libm.so/usr/lib64/libm.a

再次执行安装 Magent

[root@zengxiangtao magent]# make

又出现如下的“ collection2 id  返回 1... ”错误:



解决办法是将Makefile文件中CFLAGS = -Wall -g -O2 -I/usr/local/include $(M64)改为:CFLAGS = -lrt -Wall -g -O2 -I/usr/local/include $(M64)

[root@zengxiangtao magent]# vim Makefile

[root@zengxiangtao magent]# make

[root@zengxiangtao magent]# cp magent/usr/bin/magent

至此,Magent安装完毕,附带说明一下Magent的优劣势:

* 不足之处:当前Magent的运行速率只有memcached80%,需要改进;

* 优势:增加后台的备份服务器不会影响到magent的性能,它的CPU使用量低于memcached,并且只需要非常小的内存即可以运行。

Magent支持Memcached的命令有:getgetsdeleteincrdecraddsetreplaceprependappendcasMagent本身的命令参数如下:







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
让Kustom成为有史以来最强大的动态壁纸制作者,让你的Android设备看起来独一无二!使用它令人敬畏的WYSIWYG(所见即所得)编辑器来创建您自己的设计并同时显示您需要的任何数据,并且还可以使用精彩的动画!如果您在Android上寻找Rainmeter或Conky,就是这样! 使用Kustom,您可以创建定制的数字和模拟时钟(秒针),动画图案,实时地图背景,材料壁纸,复杂的CPU /内存计,随机更改的图像,滚动图像,陀螺效果等等。想象力是极限。 启动器支持 动画仅适用于完全支持Android标准的启动器,因此例如完全支持Google Now Launcher和Nova Launcher。其他一些人可能有问题,现在唯一已知问题的发射器是GO Launcher(我们无法解决这个问题)。 Smart Launcher 3 v3.26.010破解APK就在这里![最新] OK Launcher Prime - 奥利奥启动器与Android™O 8.0 v2.0破解APK [最新] 你得到: - 一些皮肤开始 - 自定义字体,颜色,大小和效果的文字 - 椭圆形,矩形,弧形,三角形,外形等形状 - 渐变,阴影,平铺和彩色滤镜 - Photoshop / GIMP类似于图层叠加效果(模糊,清晰,xor,差异,饱和度) - 触摸您创建的任何对象上的动作/热点 - PNG / JPG / WEBp图像支持 - 基于屏幕位置,触摸,事件等的动画,例如淡入淡出,缩放和滚动... -壁纸运动或物体动画的磁传感器/陀螺仪支持 - 功能,条件和全局变量的复杂编程 - 根据时间,地点,天气,任何东西更换壁纸! - 通过HTTP动态下载内容(实时地图,天气等) - 原生音乐实用程序(当前播放的歌曲标题,专辑,封面) - Tasker支持 - 要显示的大量数据(如日期,时间,电池,日历) ,天气,天文(日出,日落),CPU速度,内存,倒计时,WiFi和蜂窝状态,交通信息,下一个警报,位置,移动速度等等)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值