提问者:小点点

ActiveMQ Artemis复制-仅使用两个节点是否可行?


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

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

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

然而,留档指出:

网络隔离保护需要配置

既然我们的配置中只有一对节点,那么这种说法有什么含义呢?

此外,此链接似乎表明仅使用两个节点无法真正做到:

如果您正在使用复制,那么减少脑裂的推荐节点的最小数量是6

但也:

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

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

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

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


共1个答案

匿名用户

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

因此,您需要主代理、备份代理和至少一个ZooKeeper节点。但是,如果只有一个ZooKeeper节点,那么这将成为架构的弱点,因为如果该节点发生故障,那么高可用性语义学可能会受到损害。因此,您可能希望为ZooKeeper提供一些冗余。因此,留档建议3个或更多ZooKeeper节点。

需要明确的是,ZooKeeper是解决此类问题的一个相当常见的解决方案,因此组织已经部署了ZooKeeper集群是相对常见的。利用此基础架构实现ActiveMQ Artemis高可用性是很有意义的。

您链接的关于最小集群部署的答案是在2020年实施可插拔仲裁投票之前编写的。因此,该答案已过时。

网络pinger本身从来都不是一个“推荐”的解决方案。对于那些无法部署推荐的3对主/备份,也无法使用共享存储的人来说,这是一种权宜之计,但他们仍然希望对大脑分裂有所缓解。同样,这是在新的可插拔仲裁投票之前很久就实施的。