Memcache引入Repcached组件做HA高可用方案

一、主要目的 
解决使用Magent代理Memcache节点出现故障恢复导致缓存返回为空的解决方案。 
若不清楚此问题,可以翻看前一篇文章:http://blog.csdn.net/dailywater/article/details/50876865

二、基本介绍 
Repcached,全称replication cached,高可用技术,简称复制缓冲区技术。 
使用场景:它是一个单Master单Slave的方案,但它的Master和Slave都是可读可写的,而且可以相互同步,并且Master和Slave会自动切换(主变从,从变主自由切换)。如果Master宕机,Slave侦测到连接断了,它会自动Listen而成为Master,而如果Slave坏掉,Master也会侦测到连接断了,它就会重新等待新的Slave加入。

三、安装 
下载地址:http://ncu.dl.sourceforge.net/project/repcached/repcached/2.2.1-1.2.8/memcached-1.2.8-repcached-2.2.1.tar.gz 
安装命令如下:

# mkdir repcached
# cd repcached
# wget http://ncu.dl.sourceforge.net/project/repcached/repcached/2.2.1-1.2.8/memcached-1.2.8-repcached-2.2.1.tar.gz
# tar -xzvf memcached-1.2.8-repcached-2.2.1.tar.gz
# cd memcached-1.2.8-repcached-2.2.1
# ./configure --enable-replication --program-transform-name=S/memcached/repcached/
# make
# make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

安装完成后,该目录下生成了几个可执行文件: 
这里写图片描述

输入命令memcached -help,出现如下命令,则说明安装成功: 
这里写图片描述

请注意几个地方: 
1、此次repcached安装是把memcache和repcached一起安装了。 
2、此命令多了-x,-X等命令参数 
3、最新版的repcached启动命令为memcached 加上各种参数,之前老版本的repcached启动命令则为repcached加参数,请注意区分。

四、启动 
命令查看memcached -help 
参数基本上与memcache的一致。 
请注意这两个参数: 
-x:指定复制操作的IP 
-X:指定复制操作的port

示例: 
memcached -p 11311 -X 11314 -l 192.168.0.100 -v -d -u root 
memcached -p 11312 -X 11314 -x 192.168.0.100 -v -d -u root 
命令说明:11311 为Master,11312为Slave。 
注意Master节点是不需要指定复制操作IP的,Slave要指定复制操作 IP。 
如下截图所示(作者把这两条命令写在了startRepcached.sh文件中):

这里写图片描述

四、测试 
1、使用telnet命令连接,在11311节点上新增缓存对象 
这里写图片描述

2、在11312节点上获取该缓存对象,看能否正常获取 
这里写图片描述

如上图所示,能够在11312节点上获取缓存对象,说明repcache组件已正常工作。

有个细节请留意: 
11311是Master节点,但Master宕机后,11312就由Slave变成Master,下次再启动11311时,只能以Slave的命令启动了,因为Master角色已被11312占用了。

五、Repcached组件方案分析 
优点: 
1)能够实现memcached节点冗余备份 
2)主从之间可以互相读写

缺点: 
1)只支持一主一从备份,单对单 
2)冗余备份,占用内存较多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值