Maison  >  Article  >  base de données  >  Magent搭建Memcached集群

Magent搭建Memcached集群

WBOY
WBOYoriginal
2016-06-07 16:08:151079parcourir

Magent搭建Memcached集群Memcached集群介绍由于Memcached服务器与服务器之间没有任何通讯,并且不进行任何数据复制备份,所以当任何服务器节点出现故障时,会出

Magent搭建Memcached集群



Memcached集群介绍


由于Memcached服务器与服务器之间没有任何通讯,并且不进行任何数据复制备份,所以当任何服务器节点出现故障时,会出现单点故障,如果需要实现HA,则需要通过另外的方式来解决。


通过Magent缓存代理,防止单点现象,缓存代理也可以做备份,通过客户端连接到缓存代理服务器,缓存代理服务器连接缓存连接服务器,缓存代理服务器可以连接多台Memcached机器可以将每台Memcached机器进行数据同步。如果其中一台缓存服务器down机,系统依然可以继续工作,如果其中一台Memcached机器down掉,数据不会丢失并且可以保证数据的完整性。

 

搭建Memcached集群


Magent的架构方案已经在上一篇博文《Magent介绍》中有详细描述。现以如下图示例架构方案说明Magent如何搭建Memcached集群,而在生产环境需要根据自身业务特点设计健壮的架构方案。

 

clip_image002

 

现有测试机:192.168.11.51/52/68

先在三台测试机上安装好libevent和memcached,启动memcached实例;

然后在51和52上安装好magent,启动magent实例。

 

安装和启动memcached实例


详细步骤,请参见之前的博文《Memcached 1.4.22安装和配置》,分别启动如下实例:

/usr/local/bin/memcached -d -m 256 -u memcached -l 192.168.11.51 -p 11211 -c 1024 -P /var/run/memcached/memcached.pid /usr/local/bin/memcached -d -m 256 -u memcached -l 192.168.11.52 -p 11211 -c 1024 -P /var/run/memcached/memcached.pid /usr/local/bin/memcached -d -m 256 -u memcached -l 192.168.11.68 -p 11211 -c 1024 -P /var/run/memcached/memcached.pid

 

安装和启动magent实例


笔者在测试magent-0.6.tar.gz时,该版本在与最新版memcached运行下不够稳定,如下配置以magent-0.5.tar.gz为示例。


1. 安装magent到/usr/local下:  

cd /usr/local     mkdir magent     cd magent     wget      (若无法直接访问,可先下载安装包后上传到服务器上)     tar zxvf magent-0.5.tar.gz


2. 修改配置:  
在ketama.h文件开头添加    

#ifndef SSIZE_MAX     #define SSIZE_MAX 32767     #endif

 

ln -s /usr/lib64/libm.so /usr/lib64/libm.a /sbin/ldconfig sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile     vi Makefile

 
将    

CFLAGS = -Wall -O2 -g

修改为:    

CFLAGS = -lrt -Wall -O2 -g

保存


3. 编译:  

make

   
输出如下信息:    

gcc -lrt -Wall -O2 -g -c -o magent.o magent.c     gcc -lrt -Wall -O2 -g -c -o ketama.o ketama.c     gcc -lrt -Wall -O2 -g -o magent magent.o ketama.o -levent –lm


4. 查看命令帮助:  

./magent –h

   

memcached agent v0.4 Build-Date: Apr 21 2015 09:21:10     Usage:     -h this message     -u uid     -g gid     -p port, default is 11211. (0 to disable tcp support)     -s ip:port, set memcached server ip and port     -b ip:port, set backup memcached server ip and port     -l ip, local bind ip address, default is 0.0.0.0     -n number, set max connections, default is 4096     -D don't go to background     -k use ketama key allocation algorithm     -f file, unix socket path to listen on. default is off     -i number, set max keep alive connections for one memcached server, default is 20     -v verbose


5. 启动magent实例  

/usr/local/magent/magent -u root -n 4096 -l 192.168.11.51 -p 11200 -s 192.168.11.51:11211 -s 192.168.11.52:11211 -b 192.168.11.68:11211     /usr/local/magent/magent -u root -n 4096 -l 192.168.11.52 -p 11200 -s 192.168.11.51:11211 -s 192.168.11.52:11211 -b 192.168.11.68:11211

 

测试流程


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Oracle的Spool命令Article suivant: Mysql5.6.21-GTID主从复制