MariaDB Spider with Galera Clusters 故障转移解决方案

MariaDB Spider with Galera Clusters failover solutions

我在尝试为实验构建数据库解决方案以确保 HA 和性能(分片)时遇到问题。

现在,我有一个spider节点和两个galera集群(每个集群3个节点),如下图所示,这种配置在一般情况下效果很好。:

但是,据我所知,蜘蛛引擎在进行分片时,必须分配主IP才能将SQL语句分发到不同Galera集群中的两个节点。

所以我的第一个问题是:

Q1): 当机器.12毁坏关机时,如何让.13或.14(其中之一)自动替换.12?

Q2:有没有什么开源工具(或技术)可以帮助我处理这种情况?如果是这样,请解释它是如何工作的。 (也许是 MaxScale?但我一直不知道它是什么以及它能做什么。)

Q3):本次实验的动机如下。一个自动化工厂有很多台机器,每台机器都会产生一些在生产过程中必须记录的数据(可能每秒成百上千条数据),用来观察机器的运行情况,让每批产品的质量达到最佳。 所以我的问题是:这个架构(图 1)怎么样?或者请提供您的建议。

您可以在 Galera 集群前面使用 MaxScale,使各个节点看起来像一个组合集群。这样,即使其中一个节点发生故障,Spider 也能够无缝访问分片。您可以查看 the MaxScale tutorial 以获取有关如何为 Galera 集群配置它的说明。

像这样的东西应该可以工作:

这当然具有与单个数据库节点相同的限制:如果 MaxScale 服务器出现故障,您必须为该集群切换到不同的 MaxScale。使用 MaxScale 的好处是它在某种意义上是无状态的,这意味着它几乎可以立即启动和停止。网络负载平衡器(例如 ELB)已经可以针对此问题提供某种形式的保护。