ActiveMQ-多代理网络配置

ActiveMQ-多代理网络配置,activemq,Activemq,我正在尝试在一个网络中设置三个代理以实现负载平衡——客户机和生产商可以连接到这些代理中的任何一个 问题: 建议使用什么拓扑来连接这些代理?更具体地说,在每个代理上使用的networkConnector配置是什么?是否应启用双工设置?(我想双工设置取决于我们选择的拓扑) A->B->C->A或ABCA 客户端应该使用故障转移协议连接到这些代理,对吗?e、 g.故障转移://(tcp://b1:6161, tcp://b2:6161, tcp://b3:6161) 重新启动时,客户端是否需要任何重复

我正在尝试在一个网络中设置三个代理以实现负载平衡——客户机和生产商可以连接到这些代理中的任何一个

问题:

  • 建议使用什么拓扑来连接这些代理?更具体地说,在每个代理上使用的networkConnector配置是什么?是否应启用双工设置?(我想双工设置取决于我们选择的拓扑)

    A->B->C->A或ABCA

  • 客户端应该使用故障转移协议连接到这些代理,对吗?e、 g.故障转移://(tcp://b1:6161, tcp://b2:6161, tcp://b3:6161)

  • 重新启动时,客户端是否需要任何重复的消息处理?请参阅--不清楚此处存在重复消息问题的原因

  • 理想情况下,我们希望按照本文所示设置拓扑——不清楚如何在主设备和从设备上设置networkConnector

  • 1.)我实际上无法推荐拓扑。此选择取决于您可以接受的跳数(消息进入集群的代理和消费者连接到的代理之间)。在起伏流量场景中,每个跃点都会增加网络负载。 在我的公司里,我们使用一个超立方体网络(每个经纪人都知道其他经纪人),它工作得很好

    通常,您应该确保节点配置尽可能相似。使用双工可以确保要配置的连接更少(因为从B到A的连接已经是从A到B的双工连接的一部分),但它会在配置文件中引入大量差异

    个人而言,我为ActiveMQ创建了自己的启动脚本,该脚本根据集群的dns名称(mycluster-01到06)自动生成连接配置

    是的。如果要确保客户端使用列表中的第一个条目,可能需要添加?randomize=false

    3.)如果在消息传输期间出现故障,或者在重载期间出现竞争条件,则可能会出现重复条目。通常,一条消息只由一个代理拥有

    4.)不要在主设备和从设备之间设置网络连接器(真的不要)。使用activeMQ的纯主从功能,为每个从设备配置主设备(不必在主设备上配置任何东西)。对于所有主设备,配置到其他主设备的网络连接,并将故障转移到其从属设备)