当前位置: 首页 > news >正文

济南做网站的/网站优化基本技巧

济南做网站的,网站优化基本技巧,购物网站常用的多组图左右轮播的js图片特效代码,网页制作费用明细实验目的 掌握基于 repcached 的 Memcached 主主复制配置 实现通过 Keepalived 的 VIP 高可用机制 验证数据双向同步及故障自动切换能力 实验环境 角色IP 地址主机名虚拟 IP (VIP)主节点10.1.1.78server-a10.1.1.80备节点10.1.1.79server-b10.1.1.80 操作系统: CentOS 7 软…

实验目的

  1. 掌握基于 repcached 的 Memcached 主主复制配置

  2. 实现通过 Keepalived 的 VIP 高可用机制

  3. 验证数据双向同步及故障自动切换能力


实验环境

角色IP 地址主机名虚拟 IP (VIP)
主节点10.1.1.78server-a10.1.1.80
备节点10.1.1.79server-b10.1.1.80
  • 操作系统: CentOS 7

  • 软件版本: memcached-1.2.8-repcached-2.2

一、搭建memcached 主主复制

Memcached 的复制功能支持多个 Memcached 之间相互复制(双向复制,主备都是可读可写的),可以解决 Memcached 的容灾问题。

memcached 本身不支持相互复制,若已安装,需要卸载rpm 安装的memcached ,换带有支持复制功能的memcached;

yum -y remove memcached

(1)环境准备

假设有两台服务器用于 Memcached 主主复制,分别为 Server A(10.1.1.78)和 Server B(10.1.1.79)。确保两台服务器都运行 CentOS 7 系统,并且网络可以正常通信。

注意实验时需要设置防火墙规则,学习时期可直接关闭防火墙,因此两台虚拟机都需关闭防火墙

​
sudo firewall-cmd --add-port=11211/tcp --permanent 
sudo firewall-cmd --reload#注意也可以执行以下命令关闭防火墙(centos7中若要关闭防火墙两个都要关,具体使用规则可查看本人其他博客)
systemctl stop firewalld
systemctl stop iptables

(2)安装依赖

在两台服务器上都执行以下命令安装编译所需的依赖:

yum install -y gcc make libevent-devel

(3)下载并安装支持复制的 Memcached(repcached)

repcached 是实现 Memcached 复制功能的扩展,以下是安装步骤:

下载下面的压缩包并上传两台虚拟机,并执行wgte命令下载 repcached

Docs

wget http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz

如果上述链接不可用,你可以在 SourceForge 等网站上查找合适的版本。

(4)解压文件

tar zxvf memcached-1.2.8-repcached-2.2.tar.gz
ls  
cd memcached-1.2.8-repcached-2.2

(5)置编译选项

./configure --prefix=/usr/local/memcached  --enable-replication --with-libevent=/usr/lib64/ 

(6) 编译并安装

make clean
make &&make install

编译过程中若报错,处理后再编译:

修改memcached.c,删除两行如下图所示,大概在五十多行左右,可输入命令行:set nu显示行数

修改 replication.c文件,增加红色框住的一行

(7)配置主主复制

1. 启动 Server A 的 Memcached
#创建对应的用户
useradd  memcached
​
#进到对应目录启动服务
cd /usr/local/memcached/bin
./memcached -d -u memcached -m 64 -l 10.1.1.78 -p 11211 -x 10.1.1.79
​
注:若配合调度器上面的指令改成
./memcached -d -u memcached -m 64 -l 0.0.0.0 -p 11211 -x 10.1.1.79
​
​
#启动服务后一定要查看进程,看到底服务启动没
netstat -naptl |grep memcached
​
注:netstat 这个网络指令来源于net-tools 这个软件包,没有就自己安装!
sudo yum install net-tools​
#停掉服务的方法
pkill -9 memcached

参数说明:

  • -d:以守护进程模式运行。
  • -u root:以 root 用户身份运行。
  • -m 64:分配 64MB 内存给 Memcached。
  • -l 10.1.1.78:监听的 IP 地址。
  • -p 11211:监听的端口。
  • -x 10.1.1.79:指定要同步数据的对端服务器 IP。

2. 启动 Server B 的 Memcached
#创建对应的用户
useradd  memcached
​
#进到对应目录启动服务
cd /usr/local/memcached/bin
./memcached -d -u memcached -m 64 -l 10.1.1.79 -p 11211 -x 10.1.1.78
​
注:若配合调度器上面的指令改成
./memcached -d -u memcached -m 64 -l 0.0.0.0 -p 11211 -x 10.1.1.78
​
​
#启动服务后一定要查看进程,看到底服务启动没
netstat -naptl |grep memcached
​
注:netstat 这个网络指令来源于net-tools 这个软件包,没有就自己安装!
sudo yum install net-tools​
#停掉服务的方法
pkill -9 memcached

(8)验证主主复制

注意若没有telnet命令可自行下载

sudo yum install telnet -y
1. 在 Server A 插入数据
telnet 10.1.1.78 11211 
set test 0 0 5 
hello 
quit 
2. 在 Server B 验证数据
telnet 10.1.1.79 11211 
get test

如果能获取到在 Server A 上插入的数据,说明主主复制配置成功。同理,在 Server B 上插入数据,也应该能在 Server A 上获取到。

注意:同步的前提,使用相同用户启动服务;

二、搭建memcached 主主复制+keepalived 高可用

(1)在两个节点上都安装keepalived

yum -y install keepalived ipvsadm

(2)在10.1.1.78 上的配置

cd /etc/keepalived/
vi keepalived.conf
# 清空原文件并写入以下内容(示例为10.1.1.78主节点配置)
cat > /etc/keepalived/keepalived.conf <<'EOF'
! Configuration File for keepalivedglobal_defs {router_id LVS_DEVEL
}vrrp_script chk_memcached {script "/usr/bin/pgrep memcached"  # 检测Memcached进程interval 2weight -20
}vrrp_instance VI_1 {state MASTER                       # 主节点设为MASTER,备节点设为BACKUPinterface ens33                    # 网卡名(通过ip addr查看实际名称)virtual_router_id 51priority 100                       # 备节点改为90advert_int 1authentication {auth_type PASSauth_pass 1111                 # 密码需主备一致}virtual_ipaddress {10.1.1.80/24                  # 虚拟IP(VIP)}track_script {chk_memcached}
}
EOF

在10.1.1.79上,仅修改state和priority

cat > /etc/keepalived/keepalived.conf <<'EOF'
! Configuration File for keepalivedglobal_defs {router_id LVS_DEVEL_79  # 唯一标识,建议改为节点相关名称
}vrrp_script chk_memcached {script "/usr/bin/pgrep memcached"  # 检测Memcached进程interval 2weight -20
}vrrp_instance VI_1 {state BACKUP                      # 明确指定为备节点interface ens33                   # 网卡名(需与ip addr显示一致)virtual_router_id 51              # 必须与主节点相同priority 90                       # 优先级低于主节点(100)advert_int 1authentication {auth_type PASSauth_pass 1111                # 密码与主节点一致}virtual_ipaddress {10.1.1.80/24                 # 相同的虚拟IP}track_script {chk_memcached}
}
EOF

(3)启动keepalived

systemctl start keepalived
systemctl enable keepalived
systemctl status keepalived

(4) 测试故障切换

ip addr show ens33
pkill -9 memcached

最开始:

查看10.1.1.78,此时有10.1.1.80的VIP,

查看10.1.1.79,没有10.1.1.80的VIP

手动停止memcached后:

 在 主10.1.1.78上

pkill -9 memcached

观察vip 飘逸

78上没有80,79上有80

实验结论

  1. 主主复制有效性

    • 数据在 10.1.1.78 和 10.1.1.79 之间实现双向同步,写入任一节点的数据均能实时同步至对端。

    • 通过 stats replication 确认复制状态为 connected,同步字节数 (replication_bytes) 持续增长。

  2. 高可用性验证

    • 当主节点 Memcached 服务终止时,Keepalived 在 2秒内 将 VIP (10.1.1.80) 漂移至备节点。

    • 客户端通过 VIP 访问服务无感知中断,实现无缝故障转移。

  3. 关键问题与解决

    • 编译错误: 通过修改 memcached.c 定义 IOV_MAX 解决。

    • 同步失败: 因防火墙未放行 11212 复制端口,关闭防火墙后恢复正常。


实验总结

本次实验成功构建了 Memcached 主主复制集群,并结合 Keepalived 实现高可用。关键成果包括:

  1. 数据冗余:双向复制确保单节点故障时数据不丢失。

  2. 服务连续性:VIP 机制保障客户端访问零中断。

  3. 可扩展性:架构支持后续添加更多节点。

http://www.whsansanxincailiao.cn/news/32053404.html

相关文章:

  • 手机在线做网站/2024年最新一轮阳性症状
  • 洞泾做网站/重庆百度推广的代理商
  • 丹东企业做网站/网站收录怎么做
  • 色无极网站正在建设中/seo网站关键词优化方式
  • 建设wap手机网站制作/产品宣传推广方案
  • 衢州做网站/推广方案框架
  • WordPress仿app主题/黑帽seo寄生虫
  • 自己做企业网站/郑州做网站最好的公司
  • 榆林网站建设推广/公司产品推广方案
  • 网站建设的知名品牌/网站排名优化首页
  • wordpress 国内主题 营销主题/seo网上培训多少钱
  • 网站seo诊断的主要内容/什么软件可以发布推广信息
  • 电影网站制作教程/最近的大新闻
  • 鄂州手机网站建设/安卓优化大师最新版
  • 在哪个网站找水利工地做/对网站和网页的认识
  • 建立网站实验总结/网络营销企业网站优化
  • 自己做热图的网站/百度小说排行榜风云榜单
  • 建站模板 discuz/西安关键词优化排名
  • 驻马店网站建设/北京seo顾问服务
  • 个人网站备案不通过/深圳网站搜索优化
  • 网页设计代码模板百度模板/北京网站优化企业
  • 企业网站ppt怎么做/天津短视频seo
  • 建设银行益阳市分行桃江支行网站/内容营销案例
  • 做网站商/下载百度极速版
  • 太原网站建设谁家好/温州网站优化推广方案
  • 简单手机网站开发软件有哪些/哪些店铺适合交换友情链接
  • 淄博瓷砖网站建设中企动力/站长工具友链查询
  • 网站建设的流程/百度云网盘入口
  • 罗湖做网站的公司哪家好/seo干什么
  • 网站基本设置/编程培训