相关服务高可用架构图

1、rockemq高可用架构图

 

接下来我们要修改/etc/keepalived/keepalived.conf文件,在Keepalived的Master上配置详情如下:

 

#Keepalived配置文件

global_defs {

        router_id NodeA                 #路由ID, 主备的ID不能相同

}

 

#自定义监控脚本

vrrp_script chk_haproxy {

        script "/etc/keepalived/check_haproxy.sh"

        interval 5

        weight 2

}

 

vrrp_instance VI_1 {

        state MASTER #Keepalived的角色。Master表示主服务器,从服务器设置为BACKUP

        interface eth0          #指定监测网卡

        virtual_router_id 1

        priority 100            #优先级,BACKUP机器上的优先级要小于这个值

        advert_int 1            #设置主备之间的检查时间,单位为s

        authentication {        #定义验证类型和密码

                auth_type PASS

                auth_pass root123

        }

        track_script {

                chk_haproxy

        }

        virtual_ipaddress {     #VIP地址,可以设置多个:

                192.168.0.10

        }

}

Backup中的配置大致和Master中的相同,不过需要修改global_defs{}的router_id,比如置为NodeB;其次要修改vrrp_instance VI_1{}中的state为BACKUP;最后要将priority设置为小于100的值。注意Master和Backup中的virtual_router_id要保持一致。下面简要的展示下Backup的配置:

 

global_defs {

        router_id NodeB

}

vrrp_script chk_haproxy {

 ...

}

vrrp_instance VI_1 {

        state BACKUP

 ...

        priority 50

 ...

}

为了防止HAProxy服务挂了,但是Keepalived却还在正常工作而没有切换到Backup上,所以这里需要编写一个脚本来检测HAProxy服务的状态。当HAProxy服务挂掉之后该脚本会自动重启HAProxy的服务,如果不成功则关闭Keepalived服务,如此便可以切换到Backup继续工作。这个脚本就对应了上面配置中vrrp_script chk_haproxy{}的script对应的值,/etc/keepalived/check_haproxy.sh的内容如代码清单所示。

 

#!/bin/bash

if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ];then

        haproxy -f /opt/haproxy-1.7.8/haproxy.cfg

fi

sleep 2

if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ];then

        service keepalived stop

fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值