负载均衡下多台服务器代码同步 rsync

作者:神秘网友 发布时间:2020-09-27 05:02:30

负载均衡下多台服务器代码同步 rsync

负载均衡下多台服务器代码同步 rsync

公司现在的服务器架构采用的是阿里的SLB(负载均衡)

  现在是有一个负载均衡对应两台ECS实例  负载均衡就是当有客户端的请求的时候 它会对后端server的服务器进行健康检查并根据设置的权重去分配请求,好处就是当其中某台服务器宕机不会造成损失。起到了容灾效果

现在的需求:

1、现在就是后端的server服务器都布置好了,代码怎么同步到每台服务器上,不可能在每台服务器都进行git pull 或者 svn update吧 现在server服务器少还好,后期对应n多个ECS实例怎么办

于是便应用到的rsync 工具

现在我把负载均衡下的两台服务器分成A服务器和B服务器

负载均衡下多台服务器代码同步 rsync

 现在第一步就是两台服务器都安装rsync

yum install rsync

安装完之后 查看 版本信息

rsync -version 

因为两太服务器都是 一个命令安装的 保证版本一致

接下来就是配置A服务器 

 

vi  /etc/rsyncd.conf

uid = nobody 
gid = nobody   #指定主机B的用户id和组
max connections = 4  #允许最大连接数 就是预序多少台服务器链接
read only = true #只读模式
#hosts allow = 202.207.177.180  #预序链接的ip 多个用逗号隔开 
hosts allow = * # 现在是允许所有的服务器都能连
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log  #日志文件
slp refresh = 300
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid  #进程文件位置
lock file = /var/run/rsyncd.lock 
[web]
path = /www/web
comment = Mirror to Hk server
read only = true
list = false
auth users = root

[www]
path = /www/web  #B服务器需要备份当前服务器的文件夹
read only = false
auth users = root #允许的用户
secrets file = /etc/rsyncd.password  #密码地址 后面有用

接下来就是刚才说的rsyncd.password密码文件  先配置A服务器的密码文件

负载均衡下多台服务器代码同步 rsync

格式是

用户名:密码   如上图所示

然后把文件设置为600权限 记住只能是600权限

负载均衡下多台服务器代码同步 rsync

A服务器设置好了  接下来设置B服务器  B服务器设置很简单 只需要增加密码文件即可

负载均衡下多台服务器代码同步 rsync

然后  然后 然后 敲黑板划重点一定要把开机自启动加上 否则服务器重启 或者宕机修复好之后  它是不会启动的 你需要手动重启服务 所以一定要加到开机自启动里面

A服务器

vi /etc/rc.local
 /usr/bin/rsync --daemon --config=/ect/rsyncd.conf   #开机自动运行

B服务器
 

vi /etc/rc.local
 /usr/bin/rsync --daemon  #开机自动运行

如图所示

 

负载均衡下多台服务器代码同步 rsync

然后测试同步

负载均衡下多台服务器代码同步 rsync

因为是负载均衡所以两太服务器配置的东西一摸一样

我们在A服务器增加1.txt  看看B服务器有没有自动增加

负载均衡下多台服务器代码同步 rsync

 

是增加的但是怎么增加的呢 

rsync -vzrtopg --progress [email protected]::www /www/web --password-file=/etc/rsyncd.password

负载均衡下多台服务器代码同步 rsync

 这个文件 一定要搞清 每个代表的含义 特别是 源服务器配置需要需要备份的模块  www 这个模块 

第一次运行这个文件的时候 会是所有文件都会检查一遍  以后在运行就是增量备份 变化的文件会监控到 去更新 

那么我们怎么时时刻刻同步代码呢 

那又用到了 crontab 计划任务

负载均衡下多台服务器代码同步 rsync

首先在目标服务器 也就是B服务器 写个shell 脚本

#!/bin/bash



step=1 #间隔的秒数,不能大于60

for (( i = 0; i < 60; i=(i+step) )); do
    $(rsync -vzrtopg --progress [email protected]::www /www/web --password-file=/etc/rsyncd.password)
    sleep $step
done

exit 0

 

然后在目标服务器也就是源服务器  crontab 定时执行 

crontab -e

* * * * * sh /root/rsyncd.sh > /dev/null 2>&1

这样的话 就差不多每秒都会去更新

 这就是我们负载均衡 同步代码的根据  

假如入 以后有更多的 服务器加入到负载均衡下  我们在每台服务器都配置如B服务器那样 就可以同步更新  

假如你觉得定时任务1s还有不同步的情况话  你可以用一个三方服务器 专门传代码  然后负载均衡里面所有的服务器监听 三方服务器 这样每次我们往三方服务器传代码  负载均衡所有的服务器代码 都是同步更新的

 

负载均衡下多台服务器代码同步 rsync相关教程

  1. 思科pvst实现流量负载均衡

    思科pvst实现流量负载均衡 1、根据拓扑配置PC地址为192.168.1.1-192.168.1.4 2、配置下方的交换机 交换机创建vlan 10 20 Switch(config)#vlan 10 Switch(config)#vlan 20 把交换机相连的接口改成trunk Switch(config)#Interface range f0/1-2 Switch(config-

  2. Dubbo面试杀招--Dubbo集群容错负载均衡

    Dubbo面试杀招--Dubbo集群容错负载均衡 点赞再看,养成习惯,微信搜一搜【 三太子敖丙 】关注这个喜欢写情怀的程序员。 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点、资料以及我的系列文章。 相信经过前面几篇之后,大家已经

  3. nginx负载均衡Tomcat

    nginx负载均衡Tomcat 目录 nginx负载均衡 nginx负载均衡Tomcat集群 负载均衡策略 备份服务器(热部署) nginx负载均衡 1.首先在两个服务器分别启动Tomcat,保证两个Tomcat都可以访问 2.修改nginx配置文件 在server内添加(myservers是我随便取的名称,后面会

  4. 【逗老师带你学IT】PRTG自定义脚本ssh登录网络设备获负载均衡链

    【逗老师带你学IT】PRTG自定义脚本ssh登录网络设备获负载均衡链路状态 本文介绍如何使PRTG监控系统的自定义脚本功能,ssh登录网络设备,抓取很多snmp无法获取的监控指标。 本文主要涉及的技术点: 1、python paramiko模块应用 2、paramiko模块回显抓取 3、PRT

  5. nginx负载均衡

    nginx负载均衡 Nginx 不仅可以作为一个 Web 服务器或反向代理服务器,还可以按照权重、轮询、 ip hash、 URL hash 等多种方式实现对后端服务器的负载均衡。本节将对负载均衡实现的原理以及具体配置进行详细讲解。 负载均衡( load balance )就是将负载分摊到

  6. 灰度直方图均衡化后+Otsu算法

    灰度直方图均衡化后+Otsu算法 今天看论文。图像均衡化后,采用Otsu算法。 clc;clear;close all; img1 = imread('C:\Users\49786\Desktop\4.jpg'); [img2, func_T] = myHistogramEqualization(img1); level=graythresh(img2);BW=im2bw(img2,level);levell=gray

  7. 基于策略的双出口NAT负载均衡和备份

    基于策略的双出口NAT负载均衡和备份 实验环境: GNS3 1.0 + i86bi-linux-l3-adventerprisek9-15.4.1T拓扑中 R4、R5分别模拟不同运营商(ISP_A和ISP_B)的两台路由,经过运营商的链路到达因特网中的R2,R2的lo0端口模拟网站服务器 R3模拟本地PC,其中e0/0口和

  8. (二)Nginx 负载均衡动静分离

    (二)Nginx 负载均衡、动静分离 (一)负载均衡 如果有并发请求的话,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求到单个服务器上的情况改为请求分发到多个服务器上,将负载分发到不同的服务器,这就是我们说的负载均衡。 将请求平均分