ActiveMQ Artemis 集群故障转移支持

ActiveMQ Artemis cluster failover support

目前正在使用ActiveMQ,打算将系统迁移到ActiveMQ Artemis。目前,我有 3 个生产者和 3 个消费者,只有一个 ActiveMQ server/broker.

我想用 Artemis 创建集群的 3 个节点并进行负载平衡。我已阅读 this document,但找不到任何与集群中的一个节点发生故障时发生的情况相关的信息。

Artemis 集群自动开始与其他两台服务器进行负载平衡?或者我应该为集群中的每个节点创建一个备份服务器吗? (表示总共6台server 3 main 3 slave)

集群和故障转移在 ActiveMQ Artemis 中是相关但不同的概念。

有了集群,消息可以在节点之间进行负载平衡,但每个节点都“拥有”其上的消息。如果集群中的某个节点发生故障,则该节点上的消息将不再对客户端可用。集群旨在在处理大量客户端时通过水平扩展来提高消息吞吐量。

故障转移提供了消息的高可用性,因此如果一个节点发生故障,则其备份将接管并确保来自故障节点的消息仍然对客户端可用。在 the documentation 中查看更多详细信息。

如果您认为可能追求集群配置,我鼓励您使用单个代理对您的应用程序进行基准测试。 ActiveMQ Artemis 的性能相当不错。在某些用例中,它每秒可以处理数百万条消息。单个代理的性能可能足以支持您的用例。不要盲目地集群您的经纪人,因为您可能会不必要地使您的配置和维护复杂化并浪费资源。