ActiveMQ Artemis复制-仅两个节点可行?



我们计划使用ActiveMQ Artemis HA复制与单个主/备份对,使用新的可插拔仲裁投票功能。

这篇文章(回应我之前的问题)表明这是可能的:

一般来说,只有在新的可插入仲裁投票中才建议使用具有复制功能的单个主/备份对,因为否则分裂大脑的风险非常高。

但是文档说明:

网络隔离保护需要配置>=3个Zookeeper节点

既然我们的配置中只有一对节点,那么这句话的含义是什么?

而且,这个链接似乎表明,只有两个节点是不可能做到的:

如果你正在使用复制,那么建议减少脑裂的最小节点数是6

还:

网络ping可用于缓解脑裂,但配置起来可能很棘手。您需要执行您自己的测试,以确保它按照您想要的方式工作。

我的问题是,这在双节点架构中是否有效?如果是这样,是否需要复杂的配置?

最重要的是,如果我们添加第三个节点,它是否可行,相对容易?

我认为六个节点是不可能的。

可插入的仲裁投票需要与外部系统集成以仲裁投票。默认实现与Apache ZooKeeper集成。

因此,你需要主代理、备份代理和至少一个ZooKeeper节点。然而,如果只有一个ZooKeeper节点,那么这将成为一个架构上的弱点,因为如果该节点失败,那么高可用性语义可能会受到损害。因此,您可能希望为ZooKeeper提供一些冗余。因此,文档建议使用3个或更多的ZooKeeper节点。

需要明确的是,ZooKeeper是这类问题的一个相当常见的解决方案,所以对于已经部署了ZooKeeper集群的组织来说,这是相对常见的。利用这个基础设施实现ActiveMQ Artemis的高可用性是很有意义的。

你链接的关于最小集群部署的答案是在可插拔quorum投票实施之前的2020年写的。因此,这个答案已经过时了。

网络ping信号从未被"推荐"使用。解决方案本身。对于那些无法部署推荐的3个主/备份对,也无法使用共享存储的人来说,这是一种权宜之计,但他们仍然希望缓解大脑分裂的问题。同样,这在新的可插入仲裁投票之前很久就实现了。

最新更新