gro*_*ser 5 high-availability haproxy
我们有 Redis 主从设置,一旦主失败,我们希望回退到从。但是如果它失败了,它应该永远不会切换回来,即使 master 再次在线。
这可能吗?
小智 5
有一种解决方法可以满足您的需求。只需在rise
参数上设置一个非常高的值,以及inter
几秒钟的时间,如下例所示:
listen sql-cluster 0.0.0.0:1433
balance roundrobin
server sql01 192.168.100.109:1433 check backup
server sql02 192.168.100.180:1433 check inter 5s fall 3 rise 99999999
Run Code Online (Sandbox Code Playgroud)
在本例中,sql01
是backup
,并且sql02
是活动的。如果 master 已关闭,sql01
则已启动。对于sql02
恢复积极,它必须做99.999.999健康检查,以间隔5秒......这是15年左右!
使用该stick
选项。来自官方 HAproxy 博客:
无故障回复的自动故障转移
下面的配置使 HAProxy 在可用时使用 s1,否则在可用时故障转移到 s2。当发生故障转移时,由于棒表,不会自动处理故障回复:
backend bk_app
stick-table type ip size 1 nopurge peers LB
stick on dst
server s1 10.0.0.1:80 check
server s2 10.0.0.2:80 check backup
Run Code Online (Sandbox Code Playgroud)