两个独立代理上的 Artemis 客户端负载平衡
Artemis client-side load balancing on two standalone broker
我有两个独立的 Artemis 2.14.0 代理实例 运行(非集群)
假设一个实例在 host1 中是 运行,在 host2 中是另一个实例。
我正在使用带有 connectionFactory url 作为 tcp://host1:61616?...
的 camel 2.20,并且只能使用来自该实例的消息。
如果我想使用来自客户端负载平衡的独立代理实例的消息,下面的 connectionfactory URL 配置是否有效?
(tcp://host1:61616,tcp://host2:61616)?reconnectAttempts=5;useTopologyForLoadBalancing=false
我还没有尝试过这个配置,因为从 documentation 来看,声明似乎支持它:
- 在 URL 中明确指定服务器。这还需要在 URL.
上将 useTopologyForLoadBalancing
参数设置为 false
已更新
Relevant question
客户端连接负载平衡在幕后工作,因此当从同一个 ConnectionFactory
实例创建多个连接时,它们会根据指定的负载平衡策略(循环法)在代理之间进行平衡默认)。由于您实际上并没有聚类,因此您绝对应该设置 useTopologyForLoadBalancing=false
.
我有两个独立的 Artemis 2.14.0 代理实例 运行(非集群) 假设一个实例在 host1 中是 运行,在 host2 中是另一个实例。
我正在使用带有 connectionFactory url 作为 tcp://host1:61616?...
的 camel 2.20,并且只能使用来自该实例的消息。
如果我想使用来自客户端负载平衡的独立代理实例的消息,下面的 connectionfactory URL 配置是否有效?
(tcp://host1:61616,tcp://host2:61616)?reconnectAttempts=5;useTopologyForLoadBalancing=false
我还没有尝试过这个配置,因为从 documentation 来看,声明似乎支持它:
- 在 URL 中明确指定服务器。这还需要在 URL. 上将
useTopologyForLoadBalancing
参数设置为 false
已更新 Relevant question
客户端连接负载平衡在幕后工作,因此当从同一个 ConnectionFactory
实例创建多个连接时,它们会根据指定的负载平衡策略(循环法)在代理之间进行平衡默认)。由于您实际上并没有聚类,因此您绝对应该设置 useTopologyForLoadBalancing=false
.