ActiveMQ Artemis 复制 - 只需两个节点即可实现吗?

问题描述 投票:0回答:1

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

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

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

但是文档指出:

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

由于我们的配置中只有一对节点,该语句的含义是什么?

此外,此链接似乎表明仅用两个节点并不真正可行:

如果您使用复制,则缓解脑裂的推荐节点的最小数量为 6

而且:

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

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

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

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

high-availability activemq-artemis
1个回答
1
投票

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

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

需要明确的是,ZooKeeper 是解决此类问题的相当常见的解决方案,因此组织部署 ZooKeeper 集群相对常见。利用此基础设施来实现 ActiveMQ Artemis 高可用性非常有意义。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.