【问题标题】:ActiveMQ clustered topics and fail safety from producer point of view从生产者的角度来看,ActiveMQ 集群主题和故障安全
【发布时间】:2017-02-13 17:28:56
【问题描述】:

我想设置多个具有多个主题的 JMS 节点(代理)。最近我发现了故障转移功能(http://activemq.apache.org/failover-transport-reference.html#FailoverTransportReference-BrokersideOptionsforFailover),它允许消费者分布在所有代理节点之间+重定向,以防目标节点发生故障。 我是 JMS 和 ActiveMQ 的新手,也许我的问题听起来很愚蠢,但无论如何:

我想知道 ActiveMQ 是否从生产者的角度支持分布式主题,所以当生产者发布消息时,它会出现在集群中而不是单个集群节点中(生产者发布消息的地方)。我之所以对这种特性感兴趣,是因为我担心如果这个单节点(生产者发布消息的地方)出现故障,那么直到这个节点重新启动后,生产者才能发布消息。但是如果生产者可以将消息发布到集群(就像生产者使用故障转移功能一样)并且如果原始主题持有者节点关闭,那么消息将被重定向到其他代理节点,这将更加可靠。我一直在寻找一些例子,但无法找到它们。如果 ActiveMQ 支持这种功能,有人可以给出提示吗?谢谢

【问题讨论】:

    标签: java jms activemq


    【解决方案1】:

    是的,您结合了故障转移:方案来提供客户端恢复,然后使用服务器端的代理网络将消息分发给集群中的其他消费者。

    【讨论】:

    • 感谢您的回答,我正在考虑这个方案,这对我来说似乎很好,但它有一个问题:如果第一个从生产者收到消息的节点失败会发生什么?如果失败,那么没有其他代理收到消息?是否应该明确处理这种情况?我的意思是生产者(在代码级别)是否应该尝试将消息发送到另一个节点,以防初始节点关闭?或者这种情况下是否有任何开箱即用的支持?
    • @Andrey master+slave 可以帮助解决消息恢复方案。在 99% 的情况下,建议有任何特定于应用程序的消息处理。有许多开箱即用的选项,包括事务和其他设置。这取决于您的用例、容量、服务器环境、编程语言、协议等。我建议您咨询专家以获得如果这是业务关键数据,则需要一周左右的时间来引导您完成所有工作。
    • @Andrey 如果您喜欢这个答案,请您接受,谢谢 =)
    • 非常感谢您的努力,现在方案已满,我只需要实现它:-)
    猜你喜欢
    • 2020-06-09
    • 2021-02-15
    • 1970-01-01
    • 2021-10-13
    • 2017-04-19
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多