您的位置:首页 > 数据库 > Memcache

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

2016-03-16 22:19 555 查看
一、主要目的

解决使用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


安装完成后,该目录下生成了几个可执行文件:



输入命令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)冗余备份,占用内存较多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  memcache repcache