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

Artemis集群中的brokerURL

金令
2023-03-14

我有一个Artemis代理集群,有两个主代理和两个从代理。我正试图以编程方式将消息推送到此群集。我知道只有一个代理,要在ActiveMQConnectionFactory.setBrokerURL(String brokerUrl)中设置的brokerUrl将是TCP://10.10.100.217:61616。

共有1个答案

丁学
2023-03-14

有几种方法可以解决这个问题。

首先,您可以将所有主机和端口添加到URL中,例如:

(tcp://master1:61616,tcp://slave1:61616,tcp://master2:61616,tcp://slave2:61616)

当核心客户机连接到主服务器时,它将自动被告知任何备份,但您不能保证预定义的主服务器中的一个实际上会启动,因此最安全的做法是在URL中列出所有代理。

udp://231.7.7.7:9876

在这里,客户端使用代理用来形成集群的相同的UDP多播地址和端口。客户端将侦听这个多播地址和端口,以发现哪些代理已启动,然后连接到其中一个代理。

当然,要做到这一点,UDP多播数据包必须能够从代理到达客户机,这通常意味着它们必须在同一个网络子网上,因为UDP多播通常不会在此之外广播。

 类似资料:
  • 我是ActiveMQ Artemis新手, 我试图理解ActiveMQ Artemis中的对称集群。 这里是我试图理解的例子。 我正在从集群节点获取正在使用的主题消息和队列消息列表,如何获取关于节点的信息意味着哪个节点正在返回这些信息(队列消息/主题消息)

  • 我已经尝试只使用一个节点,它正在工作。现在我必须修改代码中的,以便它能够与集群连接。 在ActiveMQ Artemis文档中,我发现了如下内容: JavaDoc表示:

  • 从服务器1的web控制台创建的消息在服务器2的web控制台中不可见。这种配置有什么问题? web控制台中的状态:

  • 我的应用程序使用以下ActiveMQ Artemis集群配置,因为我需要最少数量的节点和HA。 null null 对于分裂的大脑,我发现以下文件帮助 具体地说,当备份失去与其活动服务器的连接时,备份将变为活动状态。这可能是有问题的,因为这也可能是由于暂时的网络问题而发生的。为了解决这个问题,备份将尝试确定它是否仍然可以连接到群集中的其他服务器。如果它可以连接到一半以上的服务器,它将成为活动的,如

  • 我试图在Apache Artemis集群中实现消息排序。连接到集群的生产者/消费者实现了高可用性。因此,在某个时间点,将有两个相同应用程序的实例连接到主题或队列。到目前为止,我可以发现以下两种方法可用于在Red Hat AMQ/Artemis集群中实现排序: 消息组(根据文档,只有当集群中每个节点有一个使用者时才是可靠的) 独占队列(仅在单个节点上保留消息顺序)。 我完全理解使用集群和期望消息排序

  • 下面是Broker.xml中artemis集群(3台服务器)的设置 我预计broker3在集群中就应该开始接收请求。