我已经建立了一个小型的ActiveMQ经纪人网络来提高可靠性。它由3个具有以下属性的节点组成(完整配置模板文件为available here):
uri="static:(tcp://${OTHER_NODE1}:61616,tcp://${OTHER_NODE2}:61616)"
,其中包含两个变量,例如node2
到node1
和node3
(所有节点之间的单一直接连接)。客户端与failover:(tcp://node1:61616,tcp://node2:61616,tcp://node3:61616)
连接,根据需要发送和检索消息。
failover
协议使目标计算机随机化,因此消息可以在集群内来回发送。
有两种(失败的)情景:
replayWhenNoConsumers
标记会导致这些邮件被识别为重复邮件。启用enableAudit
后,我获得cursor got duplicate send ID
,禁用它给了我一个<MSG> paged in, is cursor audit disabled? Removing from store and redirecting to dlq
。也许这很容易解决 - 任何人都有想法?