【问题标题】:Artemis client-side load balancing on two standalone broker两个独立代理上的 Artemis 客户端负载平衡
【发布时间】:2021-07-11 04:01:11
【问题描述】:

我有两个独立的 Artemis 2.14.0 代理实例正在运行(未集群) 假设一个实例在 host1 中运行,另一个在 host2 中运行。

我正在使用带有 connectionFactory url 为 tcp://host1:61616?... 的骆驼 2.20,并且只能使用来自该实例的消息。

如果我想使用来自具有客户端负载平衡的独立代理实例的消息,以下 connectionfactory URL 配置是否有效?

(tcp://host1:61616,tcp://host2:61616)?reconnectAttempts=5;useTopologyForLoadBalancing=false

我没有尝试过这个配置,因为 documentation 的声明似乎支持它:

  • 在 URL 中明确指定服务器。这也需要在 URL 上将useTopologyForLoadBalancing 参数设置为false

更新 Relevant question

【问题讨论】:

    标签: apache-camel jms activemq-artemis


    【解决方案1】:

    客户端连接负载平衡在后台工作,因此当多个连接从同一个ConnectionFactory 实例创建时,它们根据指定的负载平衡策略(默认为循环)在代理之间进行平衡。既然你实际上并没有集群,那么你绝对应该设置useTopologyForLoadBalancing=false

    【讨论】:

    • 当我使用骆驼来配置两个主机时,客户端只连接到一个主机。 (在标题更新后更新了同一问题中的详细信息)
    • 我认为您可能需要使用此更新信息创建一个新问题。
    猜你喜欢
    • 2020-02-25
    • 1970-01-01
    • 2020-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    相关资源
    最近更新 更多