将HAProxyconfiguration为永不切换

我有两个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:

  • @ gustavo-nobrega :在你的主后端设置一个非常高的值。 rise 99999999 。 这在故障恢复之前需要99999999健康检查。
  • @mikemaccana & 官方HAproxy博客 :在后端configuration中使用stick表。
后端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