我目前正在构建一个 HA 集群,数据库已经在 Galera 上,最后一件事是触发 DNS 更新以将流量重定向到另一台机器。
是否有任何软件可以监控所有 3 台服务器,并在需要时更新 DNS 条目?基本上,它只需要在节点的启动和关闭上运行自定义脚本。
我知道 DNS 不是最佳的,IP 故障转移会更好,但由于这些服务器位于 3 个不同的网络,所以这是不可能的。
谢谢。
答案1
首先,定义堆栈的哪些组件将位于哪些节点上。然后绘制一个图表,说明您希望在何处进行负载平衡。
看一眼Galera 文档,集群部署变体。例如,如果 DBMS 和应用程序的副本都位于每台主机上,则只需将应用程序连接到本地主机即可。或者,如果您希望拥有通向不同数据库的多个路径,则可以通过负载平衡器(如(SQL 感知)代理)将其放置。
负载平衡感知 DNS 称为全局服务器负载平衡 (GSLB)。有时它们用于传入前端请求。例如,北极星。
不同网络之间可能无法进行相同 IP 故障转移,尤其是在禁止主机特定路由或扩展第 2 层的情况下。许多应用程序不需要它。