【问题标题】:Network of Brokers - ActiveMQ - Any other alternatives?经纪人网络 - ActiveMQ - 还有其他选择吗?
【发布时间】:2011-11-19 07:23:39
【问题描述】:

我们正在建立一个 ActiveMQ 代理池/网络。我们遇到的问题是每个代理实例都应该知道网络上还有谁。即,当新代理添加到池中时,我们需要更新配置(uri)xml,然后释放所有代理。这是一个耗时的过程,似乎是过度杀戮。

有没有更好的方法?我们想到了动态发现,需要多播(不确定是否支持)

是否有一个地方可以更新网络中的人员,而不是每个代理实例?

任何帮助将不胜感激。

【问题讨论】:

    标签: java jakarta-ee jms messaging activemq


    【解决方案1】:

    使用多播进行动态发现的代理网络是一个标准示例,请see the network of brokers docs

    此外,还支持客户端的动态再平衡和更新(AMQ 版本 >= 5.4)(updateClusterClientsrebalanceClusterClients),请refer to failover docs

    【讨论】:

    • 动态再平衡是否支持消息转发?如果最近加入的一个broker没有消费者,那么它可以将消息转发给其他broker吗?
    • @VanchinathanChandrasekaran:是的,ActiveMQ 网络使用存储转发的概念。消息在通过网络转发到另一个代理之前存储在本地代理中。这意味着消息从一个代理传递到另一个代理,直到它们到达消费者。
    • 感谢您的更新。我有最后一个问题。故障转移在客户端动态更新。当生产者或消费者之一失败并返回时会发生什么。它仍然会连接到初始经纪人池,对吗?它如何知道添加到池中的新代理?假设生产者和消费者具有静态故障转移配置。
    • @VanchinathanChandrasekaran:是的,使用静态配置,您将“退回”到这些值。如果你现在例如有一个未在客户端故障转移 url 中配置的主代理,客户端找不到此代理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多