在Linux安装Memcached基于内存的缓存及加速集群部署防止单点现象

转发:https://idc.wanyunshuju.com/li/581.html

 

 

关于实现 memcached 缓存集群可以有多种方式,一种是使用 Repcached(memcached同步补丁),Repcached 优点主要是数据冗余,两台 memcached 都可以进行读写操作,缺点是只支持单对单,指支持 1.2.x 版本,所以受到的局限性很大。另外可以使用开源软件 Magent实现 Memcached 群集。通过 Magent 缓存代理,防止单点现象,缓存代理也可以做备份,可以用 keepalived 软件实现高可用。

通过 magent 缓存代理,防止单点现象,缓存代理也可以做备份,通过客户端连接到缓存代理服务器,缓存代理服务器连接缓存服务器,缓存代理服务器可以连接多台 memcached机器,可以将每台 memcached 机器进行数据同步,如果其中一台缓存服务器宕机,系统依然可以继续工作,数据不会丢失并且可以保证数据的完整性。但是如果缓存代理服务器故障,那么缓存代理服务器将无法继续提供服务,所以用 keepalived 软件实现高可用。

Memcached群集案例

  案例环境 :

  主缓存节点 Master :192.168.2.11 magent 、memcached 、libevent 、keepalived

  备缓存节点 Backup :192.168.2.12 magent 、memcached 、libevent 、keepalived

  客户端 Client : 192.168.2.13 telnet

  实验前先关闭三台机器的 防火墙及 selinux 。

  1 、主/备缓存节点编译安装 libevent

  [root@master ~]# tar xf libevent-1.4.9-stable.tar.gz -C /usr/src/

  [root@master ~]# cd /usr/src/libevent-1.4.9-stable/

  [root@master libevent-1.4.9-stable]# ./configure --prefix=/usr && make && make install

  备缓存节点与主相同

  2 、主/备缓存节点编译安装 memcached

  [root@master libevent-1.4.9-stable]# cd

  [root@master ~]# tar xf memcached-1.2.6.tar.gz -C /usr/src/

  [root@master ~]# cd /usr/src/memcached-1.2.6/

  [root@master memcached-1.2.6]# ./configure --with-libevent=/usr/ && make && make install

  备缓存节点与主相同

  3 、主、备缓存节点安装 magent (这个软件一般要翻墙才能下载)

  [root@master ~]# mkdir magent

  [root@master ~]# tar xf magent-0.5.tar.gz -C magent/

  [root@master ~]# cd magent/

  [root@master magent]# ls

  ketama.c ketama.h magent.c Makefile

  [root@master magent]# vim ketama.h

  1 #ifndef SSIZE_MAX //手动添加此三行在文件开头处

  2 #define SSIZE_MAX 32767

  3 #endif

  [root@master magent]# ldconfig

  [root@master magent]# sed -i '1 s/$/ -lm/' Makefile

  [root@master magent]# head -1 Makefile

  LIBS = -levent -lm

  [root@master magent]# make

  gcc -Wall -O2 -g -c -o magent.o magent.c

  gcc -Wall -O2 -g -c -o ketama.o ketama.c

  gcc -Wall -O2 -g -o magent magent.o ketama.o -levent -lm

  [root@master magent]# ls

  ketama.c ketama.h ketama.o magent magent.c magent.o Makefile

  [root@master magent]# cp magent /usr/bin/

  [root@master magent]# scp magent 192.168.2.12:/usr/bin/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章