微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JMS 动态消息选择

如何解决JMS 动态消息选择

我有一个包含客户 ID 和他们的一些数据的消息队列。为了提高性能,这些消息将由多个线程处理。我的问题是我需要找到一种方法来确保单个客户的消息顺序。

举个例子,以一个有交易队列的金融系统为例:

  • Message1:客户:1,存款:10,取款:0
  • Message2:客户:2,存款:10,取款:0
  • Message3:客户:1,存款:0,取款:5
  • Message4:客户:1,存款:0,取款:5

消息 1 和 2 可以并行处理,但在消息 1 完成之前不应处理消息 3,在消息 3 完成之前不应处理消息 4。

我觉得理想的情况是消息只有在可处理后才出队?有谁知道这是否可能?值得注意的是,我目前正在使用 RabbitMQ,但这很灵活。

解决方法

message grouping feature of ActiveMQ Artemis 听起来很适合这个用例。

据我了解,RabbitMQ 不支持这种功能。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。