如何使用 Apache Artemis 实现 "manual" 故障转移?

How to achieve "manual" failover with Apache Artemis?

我配置了一个只有一个 primary/backup 组的小型集群。 到目前为止,故障转移和故障回复按预期工作。

但是由于这种配置容易受到网络隔离问题的影响,而且我认为 pinger 方法不能充分解决这个问题,我更希望备份就在那里并接收更新,但 不行 当主服务器无法访问时自动进行故障转移。 相反,我想要一个具有更好情境意识的聪明人来做出故障转移决定。

我们可以接受这种过程导致的可用性下降。

我尝试使用以下 ha-policy > replication > slave 参数让备份以这种方式运行(任意延迟故障转移):

但到目前为止没有成功。

是否有可能以某种方式任意延迟自动故障转移,并通过更改 broker.xml 触发实际故障转移?

ActiveMQ Artemis 没有实现您正在寻找的功能 - 至少没有以任何自动化方式实现。我希望您可以通过将 quorum-size 设置为大于集群实际大小的值来任意延迟故障转移。但是,没有管理操作告诉备份代理激活并上线。这样做的唯一方法是停止代理,将 ha-policy 更改为 master,然后重新启动代理。