Memcached+magent实现主从同步 +keepalived高可用群集
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,Memcached+magent实现主从同步 +keepalived高可用群集简介Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和
千家信息网最后更新 2025年11月13日Memcached+magent实现主从同步 +keepalived高可用群集
Memcached+magent实现主从同步 +keepalived高可用群集
简介
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
实验部署
| 主机名称 | IP地址 | 主要服务软件 |
|---|---|---|
| memcached主服务器 | 172.16.10.138 | memcached,libevent,magent,keepalived |
| memcached从服务器 | 172.16.10.137 | memcached,libevent,keepalived |
| 客户端 | 172.16.10.134 | telnet测试 |
- 配置memcached主缓存节点服务器
tar xf libevent-2.1.8-stable.tar.gz -C /opttar xf memcached-1.5.6.tar.gz -C /opttar xf magent-0.5.tar.gz -C /optcd /opt/libevent-2.1.8./configure --prefix=/usr #指定安装路径make && make install #编译安装cd /opt/memcached-1.5.6./configure --with-libevent=/usr #指定安装路径make && make install #编译安装ln -s /usr/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6 #主服务器上magent服务需要这个模块cd /opt/magent
vim ketama.h #ifndef SSIZE_MAX #修改#define SSIZE_MAX 32767 #修改 #endifvim MakefileLIBS = -levent -lm #修改,添加-lm make cp mgent /usr/bin #把生成的mgent程序让系统识别
- 配置memcached从缓存节点服务器
tar xzvf memcached-1.5.6.tar.gz -C /opttar xzvf libevent-2.1.8-stable.tar.gz -C /optcd /opt/libevent-2.1.8./configure --prefix=/usrmake && make installcd /opt/memcached-1.5.6./configure --with-libevent=/usrmake && make i nstallln -s /usr/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6 #主服务器上magent服务需要这个模块- 主服务器将magent文件复制到从服务器
yum install openssh-clients
scp magent root@172.16.10.137:/usr/bin/ //把产生的magent文件直接复制到从服务器。
- 主服务器安装keepalived服务,修改配置文件
yum -y install keepalived
vim /etc/keepalived/keepalived.conf
router_id MAGENT_HA #router_id主从不能相同,要修改vrrp_script magent { script "/opt/shell/magent.sh" interval 2 } #定义一个新函数,每2s自动执行这个脚本 vrrp_instance VI_1 {state MASTER #这边是主服务器,从服务器是BACKUP interface ens33 #网卡接口是ens33 virtual_router_id 51 priority 100 #优先级,从服务器小于主服务器 advert_int 1authentication { auth_type PASS auth_pass 1111 }track_script { magent #触发执行magent脚本 }virtual_ipaddress { 172.16.10.200 #虚拟IP(vip) } }将下面多余的配置全部删除- 主服务器安装keepalived服务,修改配置文件
yum -y install keepalived
vim /etc/keepalived/keepalived.conf
router_id MAGENT_HB #router_id主从不相同 vrrp_script magent { script "/opt/shell/magent.sh" interval 2 } #定义一个新函数,每2s自动执行这个脚本 vrrp_instance VI_1 {state MASTER #这边是从服务器,是BACKUP interface ens33 #网卡接口是ens33virtual_router_id 51 priority 90 #优先级,从服务器小于主服务器 advert_int 1authentication {auth_type PASSauth_pass 1111 }track_script { magent #触发执行magent脚本 }virtual_ipaddress { 172.16.10.200 #虚拟IP(vip) } } 将下面多余的配置全部删除- 主服务器编写magnet脚本
mkdir /opt/shell
vim /opt/shell/magent.sh #!/bin/bash K=`ps -ef | grep keepalived | grep -v grep | wc -l` if [ $K -gt 0 ]; then magent -u root -n 51200 -l 192.168.58.100 -p 12000 -s 192.168.58.135:11211 -b 192.168.58.132:11211 else pkill -9 magent fi -n 51200 #定义用户最大连接数 -l 192.168.58.100 #指定虚拟IP -p 12000 #指定端口号 -s #指定主缓存服务器 -b #指定从缓存服务器 #这个脚本意思就是一旦检测到系统进程中有keepalived进程,就执行magent这条命令,如果没有,则将magent进程杀死。总得来说就是,主服务器上没有keepslived进程,magent就会和从服务器连接。 chmod +x /opt/shell/magent.sh #给脚本添加执行权限- 从服务器编写magent脚本
mkdir -p /opt/shell
vim /opt/shell/magent.sh#!/bin/bashK=`ip addr | grep 192.168.58.100 | grep -v grep | wc -l`if [ $K -gt 0 ]; thenmagent -u root -n 51200 -l 192.168.58.100 -p 12000 -s 192.168.58.135:11211 -b 192.168.58.132:11211elsepkill -9 magentfi #从服务器的脚本意思就是检测到虚拟ip漂移是否到自己身上,如果VIP进行漂移到从服务器之后,就会执行magent这条命令,目的就是在主服务器宕掉的时候,从服务器能够正常启动。- 实验验证
首先使用客户机安装telnet,远程连接VIP节点,写入用户之后,主从缓存服务器会自动获取下载该用户。


服务
服务器
脚本
缓存
进程
配置
就是
数据
文件
主从
客户
数据库
用户
系统
节点
相同
优先级
内存
函数
动态
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全执法检查网警在行动
熟练的软件开发人才成长空间巨大
自制数据库检索
ssh连接多个数据库
db2查看当前数据库连接
方春软件开发有限公司
新乡企业财务软件开发
对软件开发商表扬信模板
计算机四级数据库工程师难考吗
山东省油灯互联网科技有限公司
我的世界打僵尸有副本的服务器
咸阳软件开发技术项目实训中心
计算机网络技术子网掩码
美国网络技术有多强
软件开发进修课程
数据库工程师 笔记本
南瑞网络安全监测装置文档
护苗网络安全课协调会
加拿大 网络安全法律
水桶服务器
steam上有服务器的联机游戏
汕头猫王科技互联网
api抓取技术软件开发
网上如何寻找软件开发客户
数据库cpg归属于
网络技术的核心职责
工业网络安全门槛
软件开发的商务特性
常用数据库及其使用场景
dns服务器填什么