JMS 动态消息选择
JMS Dynamic Message Selection
我有一个包含客户 ID 和他们的一些数据的消息队列。为了提高性能,这些消息将由多个线程处理。我的问题是我需要找到一种方法来确保单个客户的消息顺序。
举个例子,以具有交易队列的金融系统为例:
- 消息1:客户:1,入金:10,出金:0
- 消息2:客户:2,入金:10,出金:0
- 消息3:客户:1,入金:0,出金:5
- 消息4:客户:1,入金:0,出金:5
消息 1 和 2 可以并行处理,但消息 3 不应在消息 1 完成之前处理,消息 4 不应在消息 3 完成之前处理。
我觉得理想的情况是消息只有在可处理后才出队?有谁知道这是否可能?可能值得注意的是,我目前正在使用 RabbitMQ,但这很灵活。
message grouping feature of ActiveMQ Artemis 听起来很适合这个用例。
据我了解,RabbitMQ 不支持这种功能。
我有一个包含客户 ID 和他们的一些数据的消息队列。为了提高性能,这些消息将由多个线程处理。我的问题是我需要找到一种方法来确保单个客户的消息顺序。
举个例子,以具有交易队列的金融系统为例:
- 消息1:客户:1,入金:10,出金:0
- 消息2:客户:2,入金:10,出金:0
- 消息3:客户:1,入金:0,出金:5
- 消息4:客户:1,入金:0,出金:5
消息 1 和 2 可以并行处理,但消息 3 不应在消息 1 完成之前处理,消息 4 不应在消息 3 完成之前处理。
我觉得理想的情况是消息只有在可处理后才出队?有谁知道这是否可能?可能值得注意的是,我目前正在使用 RabbitMQ,但这很灵活。
message grouping feature of ActiveMQ Artemis 听起来很适合这个用例。
据我了解,RabbitMQ 不支持这种功能。