【问题标题】:ActiveMQ Artemis is not scaleable, or is it?ActiveMQ Artemis 不可扩展,是吗?
【发布时间】:2018-12-21 00:20:29
【问题描述】:

我正在尝试设置 2 个支持 HA 和故障转移的 ActiveMQ Artemis 服务器。但我在文档和in this example 中看到的是 Artemis 不可扩展,因为我必须在 代码 中为每个 Artemis 节点设置连接和会话。这意味着如果我想通过添加第三台服务器来扩展 Artemis,那么我必须在存在与该服务器的连接和会话的情况下发布新的代码版本,对吧?

这是否也意味着当故障服务器启动并再次出现在集群上时,我必须手动创建一个新连接和一个新会话?

【问题讨论】:

    标签: activemq-artemis


    【解决方案1】:

    要以这种方式扩展,您必须使用使用 UDP 多播甚至 JGroups 的发现组。

    然后您可以在应用程序端设置发现配置以发现 Artemis 节点。所有这些都在Clustering section of the documentation 中通过示例进行了描述。

    【讨论】:

      【解决方案2】:

      example you cited 正在(部分)演示如何在使用STRICT <message-load-balancing> 时在节点故障后使用来自两个服务器的所有消息。这不是使用集群时通用客户端配置的示例。

      您当然不需要连接到集群中的每个节点。在正常的集群环境中,您将有许多不同的客户端连接到仅一个集群节点,这将确保有效地使用消息。请参阅the clustering documentation,了解有关配置代理以进行集群的更多详细信息以及该配置对客户端的影响。

      在故障转移的情况下,您只需为 HA 配置连接(例如tcp://host:61616?ha=true),如果主节点发生故障,它将自动连接到从节点。有关配置代理以实现高可用性的更多详细信息,请参阅the HA documentation

      【讨论】:

        猜你喜欢
        • 2020-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-09
        • 2021-10-09
        • 1970-01-01
        • 2021-09-02
        • 1970-01-01
        相关资源
        最近更新 更多