当前位置: 首页 > 知识库问答 >
问题:

Qpid客户端连接工厂连接到ArtemisMQ集群

段干弘毅
2023-03-14

我正在尝试使用Apache Camel和Qpid JMS客户端连接到在两个不同节点(VM)中运行的ActiveMQ Artemis主动-主动集群。我正在使用ActiveMQ Artemis 2.17.0。

Broker1 --- Host1:5672 (active)
Broker2 --- Host2:5672 (active)

我正在试图找出我的组织的远程URI配置应该是什么。阿帕奇。qpid。jms。JmsConnectionFactory实例。使用<代码>ampq://host1:5672,ampq://host2:5672不起作用。我在文档中没有看到任何参考资料。

我希望生产者通过循环或默认方式将消息推送到两个代理,我希望消费者以负载平衡的方式使用来自两个代理的消息。

对于主备份配置,以下操作有效:

<bean id="jmsampqConnectionFactory" class="org.apache.qpid.jms.JmsConnectionFactory">
   <property name="remoteURI" value="failover:(ampq://host1:5672,ampq://host2:5672)" />
   <property name="username" value="user"/>
   <property name="password" value="pass"/>
</bean>

对于主从式配置,这是可行的。因此,当主机处于活动状态时,客户端将消息发送给主机,当主机处于关闭状态时,客户端将消息推送到从机。我们在那里没有任何问题。但是,对于active active,这将不起作用。我应该使用什么URL?

作为参考,代理配置与我之前的Stack Overflow问题相同。

共有1个答案

廖夜洛
2023-03-14

Qpid JMS客户端当前没有(将来也不会有)扇出或扇入样式的连接处理程序来自动处理这种情况。客户创建与经纪人和遗嘱的单一连接;如果使用故障切换,请重新连接到另一个提供的代理URI,这就是为什么您描述的主/辅助配置可以工作,而活动/活动配置不能工作的原因。

您可能可以通过其他方式来解决这个问题,例如驼峰路由(camel routes),它可能能够按照这些路线进行操作,或者您可以创建自己的JMS层,创建扇出和扇入样式的连接代理。但是,你如何做到这一点超出了问题的范围。

 类似资料:
  • 为什么是必要的,因为我们已经在Broker.xml中指定了代理服务器的->我们知道如果我们想要连接到这个服务器,要将请求发送到哪个端口(它是端口)。即使此服务器是集群的一部分,的角色是什么?文档的其他部分也有关于“集群”的信息,但有关于集群连接的词语: 集群是由每个节点在核心配置文件broker.xml中声明到其他节点的集群连接形成的。当一个节点与另一个节点形成集群连接时,它会在内部创建它与另一个

  • 问题内容: 一切工作正常,但问题是当我在地图上定位时什么都没发生我注册了我的谷歌地图,我在这里做了所有说明 http://code.google.com/intl/pl/android/add-ons/google- apis/mapkey.html 我可以看到地图,可以放大和缩小,但是当我搜索位置时,会在logcat中找到它 这是我的Java代码 有什么帮助吗?提前致谢 问题答案: 如果您在AP

  • 在Netty中创建客户端连接时,我有一个问题。 这里,为什么我们没有一个bind方法,将通道绑定到发起客户端连接的端口(在客户端)?我们唯一需要提供的就是给出服务器地址和端口如下: 这是在客户端还是服务器端创建了一个新的通道?此通道绑定在客户端的哪个端口? 我们在执行服务器端引导时进行绑定,如下所示 我很困惑,不明白客户端从哪个端口向服务器发送数据,使用的是什么通道?

  • 我想在由安全kafka集群的kafka主题支持的Flink SQL表上执行一个查询。我能够以编程方式执行查询,但无法通过Flink SQL客户端执行。我不知道如何通过Flink SQL客户端传递JAAS配置()和其他系统属性。 FlinkSQL以编程方式查询 这很好。 通过SQL客户端Flink SQL查询 运行此命令将导致以下错误。 中没有任何内容,除了以下注释 SQL客户端运行命令 Flink

  • 我正在尝试在GKE上部署gRPC,我遵循了本教程-https://cloud.google.com/solutions/exposing-grpc-services-on-gke-using-envoy-proxy 我完成了所有工作,但我似乎无法在golang上运行gRPC,而我可以在grpcurl上运行它。 有人有什么想法吗?

  • 执行kafka客户端的生产者/消费者连接池有意义吗? kafka是否在内部维护已初始化并准备好使用的连接对象列表? 我们希望最小化连接创建的时间,这样在发送/接收消息时就不会有额外的开销。 目前,我们正在使用apache共享池库来保持连接。 任何帮助都将不胜感激。