良许Linux教程网 干货合集 通过Magent部署Memcached集群

通过Magent部署Memcached集群

Magent 是一款开源的 Memcached 代理服务器软件,使用它可以搭建高可用性的集群应用的 Memcached 服务 ,备份 Memcached 数据

尽管 Memcached 服务挂掉,前端也能获取到数据,客户端先连到 Magent 代理服务器 ,然后Magent 代理服务器 在可以连接多台 Memcached 服务器,然后可以进行数据的保存和备份数据。这样数据就不会丢失,保存了数据完整性。

image-20220216232919237

安装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实现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的数据,不同的业务应该有不同的选择。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部