MySQL 主从复制的 HAProxy

HAProxy for MySQL Master Slave Repliation

我需要一些关于为 MySQL 主从复制集群设置 HAProxy 的建议:我希望所有连接,即所有读取和写入都转到主服务器,只有当主服务器发生故障时,HAProxy 才转发连接给奴隶。

HAProxy 文档对于在这种情况下使用哪种平衡算法不是很清楚。我想它的方式是,使用 static-rr 对主服务器使用非常高的权重,对从服务器使用最低权重是我可以配置上述场景的最接近方法。但是,即使 master 仍然健康,slave 仍然有很小的机会获得 reads/writes?

对于这种严格的 master/slave 设置,哪种设置 HAProxy 的正确方法是正确的? HAProxy 是适合使用的工具还是有更好的方法来实现这一点?

使用 MariaDB 中的 MaxScale。它是一个真正的数据库路由器。易于使用和配置。直接用于 MySQL/MariaDB 或 Galera Cluster。

如果您有更多问题,我们可以聊天

Whosebug 上有一个 similar question 描述了如何使用自定义健康检查来强制 HAProxy 将所有流量发送到主服务器,如果失败则回退到只读从服务器。