阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Magent实现Memcached集群

158次阅读
没有评论

共计 1564 个字符,预计需要花费 4 分钟才能阅读完成。

Magent 是一款开源的 Memcached 代理服务器软件,使用它可以搭建高可用性的集群应用的 Memcached 服务,备份 Memcached 数据,尽管 Memcached 服务挂掉,前端也能获取到数据,客户端先连到 Magent 代理服务器,然后 Magent 代理服务器 在可以连接多台 Memcached 服务器,然后可以进行数据的保存和备份数据。这样数据就不会丢失,保存了数据完整性。

安装 Magent

 1)下载安装
cd /usr/local
mkdir magent
wget http://memagent.googlecode.com/files/magent-0.6.tar.gz
tar -zxvf magent-0.6.tar.gz
/sbin/ldconfig
sed -i “s#LIBS = -levent#LIBS = -levent -lm#g” Makefile

在 ketama.h 或 magent.c 开头添加

#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
#endif
make

复制 make 生成的 /usr/local/ 下名为 magent 的文件到 /usr/bin/

cp magent /usr/bin/magent

检查是否安装成功:

./magent -h

代理 Memcache
magent -u root -n 51200 -l 192.168.1.90 -p 12000 -s 192.168.1.111:11211 -s 192.168.1.112:11212 -b 192.168.1.112:11211
magent 参数说明:
-h 帮助说明
-u 用户
-g gid
-p 启动端口, 默认 11211. (0 to disable tcp support)
-s 服务 memcached 地址,ip:port, set memcached server ip and port
-b 备份 memcached 地址,ip:port, set backup memcached server ip and port
-l 启动 IP 地址,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

Magent 实现 Memcached 集群

如上一章,这次通过 magent 设值

  • 分别在 11211、11212、11213 端口启动 3 个 Memcached 进程,在 12000 端口开启 magent 代理程序;
  • 11211、11212 端口为主 Memcached,11213 端口为备份 Memcached;
  • 连接上 12000 的 magent,根据哈希算法,值被写入 11211 或 11212Memcached 和备份 11213 端口的 Memcached;
  • 当 11211、11212 端口的 Memcached 死掉,连接到 12000 端口的 magent 取数据,数据会从 11213 端口的 Memcached 取出;
  • 当 11211、11212 端口的 Memcached 重启复活,连接到 12000 端口,magent 会从 11211 或 11212 端口的 Memcached 取数据,由于这两台 Memcached 重启后无数据,因此 magent 取得的将是空值,尽管 11213 端口的 Memcached 还有数据。

缓存与 DB 的同步

比较保险的做法是:查询的时候从缓存中取,add、updae、delete 的时候同时操作缓存与 DB。

当然你也可以定时同步缓存与 DB 的数据,不同的业务应该有不同的选择。

Magent 实现 Memcached 集群

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1564字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中