设想

设想

设想

对于我的应用程序,我希望拥有高可用性的 MySQL/MariaDB 设置。我发现Galera Cluster在这种情况下很有趣,因为它具有自动数据冗余和即时可用性。我的目标是:

  1. 向应用程序隐藏集群的复杂性(集群可以变得更大,并通过添加一些异步节点来改变拓扑)

  2. 透明地处理应用程序外部的故障转移

  3. 为两个同步实例上的某些常见写入和读取提供负载平衡,

  4. 仍允许应用程序访问某个节点(例如异步节点),该节点针对分析的顺序读取进行了优化。如果此节点发生故障,我希望应用程序能够透明地故障转移到标准 Galera 实例,以保持一切正常运行。

迄今已完成

我读过很多关于如何使用MySQL和 串联设置高可用性和负载平衡集群的HAProxy文章Keepalived,但没有一篇解释为什么在 MySQL/MariaDB/Galera 场景中使用这个组合。一些例子:

当涉及到虚拟 IP 分配时,它由Keepalived基于其自己的可编写脚本的健康检查器来处理VRRP

还支持负载平衡Keepalived,有多种算法可以实现将连接负载平衡到目的地:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Load_Balancer_Administration/ch-initial-setup-VSA.html

HAProxy 为 HTTP 提供了一些高级功能,但这不是我的情况。

问题

对于上面提到的场景,使用HAProxywithKeepalived比仅使用 MySQL有什么优势?Keepalived

相关内容