【发布时间】:2021-02-15 05:32:44
【问题描述】:
我正在尝试在 Apache Artemis 集群中实现消息排序。连接到集群的生产者/消费者实现高可用性。因此,在某个时间点,将有两个相同应用程序实例连接到主题或队列。到目前为止,我可以找到以下两种方法可以用来在 Red Hat AMQ / Artemis 集群中实现排序:
- 消息组(根据文档,仅当集群中每个节点有一个消费者时才可靠)
- 独占队列(消息顺序仅保留在单个节点上)。
我完全理解使用集群和期望消息排序是相互冲突的要求,但由于消费者无法处理处理乱序消息的复杂性,它仍然需要在我正在处理的项目中实现。
在 Artemis ActiveMQ / Red Hat AMQ 集群中可以使用哪些替代方案来实现消息排序?
【问题讨论】:
-
您能否详细说明为什么需要集群和有序消息传递?
-
我们正在使用由 polygot 团队使用的企业级集群。即使我们只能在集群中使用 1 个主/从对,它仍然不是高度可用的,因为它不是跨数据中心产生的。简而言之,我们无法控制拓扑。一些应用程序能够在消费者端处理乱序消息,而另一些则不能。此外,消费者应用程序具有 Active/Active 配置的高可用性部署,因此多个消费者开始在源头消费扰乱消息的顺序。
标签: redhat activemq-artemis amq