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
安装命令如下:
安装完成后,该目录下生成了几个可执行文件:
输入命令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)冗余备份,占用内存较多
解决使用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缓存mysql数据库操作的原理和缓存过程浅析
- PHP memcache扩展的三种安装方法
- PHP模块 Memcached功能多于Memcache
- Memcache 基础教程(php 缓存)
- 配置Memcache服务器并实现主从复制功能(repcached)
- php模块memcache和memcached区别分析
- windows环境下memcache配置方法 详细篇
- 批量获取memcache值并按key的顺序返回的实现代码
- Linux服务器中对于Memcache的安装配置方法
- PHP操作Memcache实例介绍
- 用PHP写的基于Memcache的Queue实现代码
- ubuntu 编译安装php 5.3.3+memcache的方法
- PHP中的Memcache详解
- 在telnet下操作memcache详解(操作命令详解)
- 在Mac OS的PHP环境下安装配置MemCache的全过程解析
- Memcache缓存系统知识点梳理
- win7下memCache的安装过程(具体操作步骤)
- 采用memcache在web集群中实现session的同步会话
- php扩展memcached和memcache的安装配置方法