环境情况!
服务器上运行着自己编写的一个服务,后来因为后面像一个服务器发现负载过高,调查问题时!
发现后端服务器处理了两次,这个服务把收到的数据存放到mq中,后面服务器处理时去mq中取!
从后面服务器处理的log中发现处理了两次相同的数据,导致后面的服务器负载高!关掉一台后,发现后面服务器负载减少了一半!
后面提出需求!因为keepalived是根据redis的master/slave主机做了vip!所以,可根据vip(redis-master)在哪台机器,自己的服务就在哪台服务器上运行!另一台则不运行!当vip发生飘移时!自己的服务也根据vip一起切换!
废话少说!直接上操作!
思路和解释在下面注解!
#!/bin/bash
#create user github:Xiaopei147
#create date 2022/2/28 08:00:00(CST)
#add to github date 2022/3/2 14:30(CST)
#####################################################
##⚠⚠⚠⚠⚠⚠⚠⚠The copyright of this script is mine##
##⚠⚠⚠⚠⚠⚠⚠⚠ 这个脚本的版权是我 ##
#####################################################
ip_c=`/sbin/ip a |grep "scope global eth0" |wc -l`
status=`/sbin/service xxx status |grep