memcached分布式部署

memcached分布式部署

1、首先介绍下需要使用的memcached代理服务器magent

       magent是一款开源的memcached代理服务器,项目网址为:http://code.google.com/p/memagent/

2、安装libevent、memcached。

       在之前文章中有介绍,请参见:http://blog.csdn.net/zhsj1106/article/details/7877542

3、安装magent:

      下载地址:http://www.kuaipan.cn/file/id_7845608170131207.htm

mkdir magent
cd ./magent
wget http://memagent.googlecode.com/files/magent-0.5.tar.gz
tar zxvf magent-0.5.tar.gz
/sbin/ldconfig
sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
make
cp magent /usr/bin/magent
如果在make的时候,发生错误如下:

    gcc -lrt -Wall -g -O2 -I/usr/local/include -m64 -c -o magent.o magent.c
    magent.c: In function ‘writev_list’:
    magent.c:729: error: ‘SSIZE_MAX’ undeclared (first use in this function)
    magent.c:729: error: (Each undeclared identifier is reported only once
    magent.c:729: error: for each function it appears in.)
    make: *** [magent.o] Error 1
解决办法如下:
vi ketama.h
在开头加入

#ifndef SSIZE_MAX
# define SSIZE_MAX      32767
#endif

4、使用实例

启动三个memcached实例:

memcached -m 1 -u root -d -l 192.168.136.129 -p 11211
memcached -m 1 -u root -d -l 192.168.136.129 -p 11212
memcached -m 1 -u root -d -l 192.168.136.129 -p 11213
通过magent代理三个实例:

magent -u root -n 51200 -l 127.0.0.1 -p 12000 -s 127.0.0.1:11211 -s 127.0.0.1:11212 -b 127.0.0.1:11213
a、分别在11211,、11212、11213端口启动memcached实例,在12000端口开启magent代理实例

b、11211、11212端口为主memcached,11213为备份memcached。

c、客户端连接12000端口,连接magent,进行memcached操作,相应的值会写到11211,、11212、11213三个端口的实例。

d、当11211、11212端口的Memcached死掉,连接到12000端口的magent取数据,数据会从11213端口的Memcached取出;当11211和11212重启之后,连接到12000端口的magent取数据,数据会丢失。

e、当11211端口的Memcached死掉,magent会从11212端口的memcached取值,重启11211端口的memcached实例,连接12000端口的magent取值,不会发生错误,但11211的memcached实例的数据已经丢失。


在linux(centos)服务器上安装memcachedhttp://blog.csdn.net/zhsj1106/article/details/7877542

memcached和spring集成http://blog.csdn.net/zhsj1106/article/details/7877581

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值