gpt4 book ai didi

JMS 具有强制可扩展性(Active-Active-...-Active)和排序?

转载 作者:行者123 更新时间:2023-12-03 04:02:07 32 4
gpt4 key购买 nike

我正在寻找必须具有以下附加特征的 JMS 提供程序:

  • 采用多代理,所有代理都必须处于事件状态(无单点故障)
    • 仅在两台机器上进行扩展就足以满足我们的需求
  • 能够保证订购(如果 1 个生产者 + 1 个消费者)

我们尝试过 ActiveMQ 5.14,它似乎可以满足我们的要求,但只有在单独考虑时:

  • “ActiveMQ:为了提供大型消息传递结构的大规模可扩展性,您通常希望允许许多代理连接到一个网络中,以便您可以拥有任意数量的客户端,所有客户端都逻辑连接在一起 - 并运行尽可能多的消息根据您的客户端数量和网络拓扑来选择所需的代理。...如果您使用客户端/服务器或集线器/辐射型拓扑,那么您连接到的代理将成为单点故障,这是造成单点故障的另一个原因想要一个代理网络(或集群),这样您就可以在任何特定代理、机器或子网发生故障时幸存下来”
  • “排序:代理网络不会保留总消息排序。总排序适用于单个消费者,但网络桥引入了第二个消费者。此外,网络桥消费者通过生产者转发消息。 send(..), 因此它们从转发代理上的队列头到目标上的队列尾部。如果单个消费者在网络代理之间移动,如果所有消息始终跟随消费者但总顺序可能会被保留,但对于大量消息积压,这可能很难保证。”

最佳答案

使用Kafka ,下一代分布式消息传递,因为它易于横向扩展,提供高吞吐量,可以将消息保存到磁盘并确保有序性。

使用kafka,您可以增加节点数量以防止节点故障。如果您无法删除 JMS 传输消息,如图所示

JMS 生产者 -> Kafka 集群 -> JMS 订阅者

参见Connection between Apache Kafka and JMS .

关于JMS 具有强制可扩展性(Active-Active-...-Active)和排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42318072/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com