我有两个MariaDB服务器,db1和db2,以及一个HAProxy。 HAProxy应该在它们之间进行负载平衡,如果从站滞后过大,则取消一个。 该设置大部分来自这里:
https://severalnines.com/resources/tutorials/mysql-load-balancing-haproxy-tutorial
有一些改进。 所以,一个代理检查从属延迟,定期检查应该从集群中取下节点(事实上,这是一个双节点多主复制)。
我有HAProxy版本1.5.8,从这里开始看:
https://cbonte.github.io/haproxy-dconv/1.5/configuration.html
对于HAProxy从不切换回失败节点的可能性。 所以,如果节点A失败了,所有stream量都应该到达节点B,直到我手动设置节点A为healty(通过socat或者HAProxy的networking用户界面)。
有没有我缺less的选项,或者是HAProxy只是错误的工具呢? 作为一个方面说明,负载平衡并不是真的有必要。
我想这个问题已经被问到: 防止HAProxy从后备切换到主控
提出了两种解决scheme:
rise 99999999 。 这在故障恢复之前需要99999999健康检查。 后端bk_app stick-table type ip size 1 nopurge 坚持dst 服务器s1 10.0.0.1:80检查 服务器s2 10.0.0.2:80检查备份
我更喜欢第二种解决scheme,因为这不是一个解决方法。
请查看关于stick-table的文档: http : //cbonte.github.io/haproxy-dconv/1.7/configuration.html#4-stick-table