影者东升 发表于 2021-7-4 13:13:34

LVS监控Realserver状态实现及时添加删除ReasServer小脚本

  mysql-proxy,变形虫(ameba),但是mysql-proxy不是很稳定,有的时候直接罢工,而变形虫不支持事务,而我们的程序是一个需要支持事务的引擎,所以这个用不到了,所以经过考虑,决定尝试LVS分发,来实现读写分离,但是LVS对后台realserver无法实时进行检测,所以会出现连接数据库失败的,所以写个脚本进行自动检测,然后自动把有故障的提出ipvsadm的队列,当故障解决了,又再次加到队列中,这样就不会出现分发错误、连接数据库失败的问题了,好了接下来就是一个简单的配置介绍了:架构设计大致如下:
https://blog.51cto.com/luoweiro/../p_w_upload/201204/091038639.png
  本架构中涉及到了主从复制,LVS,这些配置很简单,不在多描述,接着就是主要讲述一下LVS的directory检测后端Realserver状态,并实现自动添加和删除对应出现故障的Realserver主机,主从和LVS就不多说了,接下来主要讲解的是Direcrtory自动检测脚本,然后根据slave的同步状态,同步延迟进行自动添加和删除。
  
  #:Synopsis:
  #:Author:LuoWei <luoweiro@126.com>
  
  #-----------------------------------------------User=connect
  //连接Slave的密码      
  VIP=192.168.158.159
  //定义LVS的虚拟端口                while [ 0 -lt 1 ];do
  //定义Realserver的IP,我这里两个地址,你可以接着写Host1=192.168.158.$Idel_realserver() {
  }add_realserver() {
  }Slave_IO_Running=`mysql -h $Host1 -u$User -p$Password -e "SHOW SLAVE STATUS\G;" | grep "Slave_IO_Running" | awk -F":" '{print $2}'`Slave_IO_Running
  //定义
       add_realserver
      del_realserver
  fi
  

  
https://blog.51cto.com/luoweiro/../p_w_upload/201204/090137721.png
  


  
页: [1]
查看完整版本: LVS监控Realserver状态实现及时添加删除ReasServer小脚本