Memcache集群高可用方案

时间:2022-11-07 01:23:42

方案说明:

通过一系列测试,发现通过magent代理多台memcache有个问题,就是当master挂了之后再次启动就会把用户踢出去,也就是sesson miss。为了解决该问题,需要在此基础上利用repcached进行双主的数据同步。

Repcached介绍

repcached:全称 replication cached是由日本人发明的memcached的高可用性技术,简称复制缓冲区技术。


使用场景:它是一个单master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步,如果 master 宕机, slave侦测到连接断了,它会自动 listen而成为 master;而如果 slave坏掉, master也会侦测到连接断,它就会重新 listen等待新的 slave加入;

部署环境

系统:centos 6.6 x64

测试环境采用2magent 2个主memcache 一个备份memcache 

角色Ip地址部署软件

Magent0110.150.21.66(主)magent

Magent0210.150.21.78(备)magent

Memcache0110.150.21.67(主)Memcache-1.4.10, repcached-2.3.1-1.4.10.patch

Memcache0210.150.21.68(主)Memcache-1.4.10, repcached-2.3.1-1.4.10.patch

Memcache0310.150.21.69(备)Memcache-1.4.10,

repcached-2.3.1-1.4.10.patch

安装步骤

Magent安装配置省略。。。。。

在Memcache01 ,Memcache02,Memcache03节点上操作

tar zxvf memcached-1.4.10.tar.gz 

cd memcached-1.4.10

gzip -cd ../repcached-2.3.1-1.4.10.patch.gz | patch -p1

./configure --enable-replication 

make 

make install

服务启动

Memcache01

/usr/local/bin/memcached -d -m 1024 -p 11211 -u root -c 1024  -x 10.150.21.68 -X 11212

Memcache02

/usr/local/bin/memcached -d -m 1024 -p 11211 -u root  -c 1024  -x 10.150.21.67 -X 11212

Memcache03

/usr/local/bin/memcached -d -m 1024 -p 11211 -u root  -c 1024

Magent01

magent -u root -n 51200 -l 10.150.21.66 -p 12000 -s 10.150.21.67:11211 -s  10.150.21.68:11211 -b 10.150.21.69:11211

magent02

magent -u root -n 51200 -l 10.150.21.78 -p 12000 -s 10.150.21.67:11211 -s  10.150.21.68:11211 -b 10.150.21.69:11211

至此ok


本文出自 “有志者,事竟成” 博客,请务必保留此出处http://wuxinglai.blog.51cto.com/9136815/1653565