即使设置了 federation 的 ha,消息还是会丢失

时间:2021-03-26 10:36:28

标签: activemq-artemis

我想通过 Artemis 构建一个远程备份系统。当一台服务器关闭时,另一台远程服务器将接管它的工作,并确保在服务传输过程中不会丢失任何消息。 这样联邦就可以在远程服务器之间建立队列,ha选项可以保证消息的完整性。

根据the ActiveMQ Artemis federation documentation

<块引用>

哈。此可选参数确定此网桥是否应支持高可用性。 True 意味着它将连接到集群中的任何可用服务器并支持故障转移。默认值为 false。

当我将 ha 选项设置为 true 并关闭正在工作的服务器时,我发现另一台服务器将接管接收消息的工作,但有些消息仍保留在关闭的服务器中。 这是否意味着联邦的ha只能保证服务不中断,不能在不同服务器之间同步数据? 是否不能保证故障转移期间消息不会丢失?

我知道 HA Policies,但它只适用于集群,对吗?

<块引用>
  • 复制活动和备份对必须是集群的一部分。
  • 此外,即使不是集群的一部分,每个节点(实时节点和备份节点)也需要定义集群连接。集群连接信息定义了备份服务器如何向其实时服务器或集群中的任何其他节点宣布存在。

我认为它不适用于“联邦”一章。

1 个答案:

答案 0 :(得分:0)

ActiveMQ Artemis 支持两种不同的策略来备份服务器共享存储和复制。这些策略允许持久性消息数据在故障转移后继续存在,请参阅 documentation 了解更多详情。