实施"消息分组"在Solace?

时间:2016-06-05 14:22:00

标签: activemq message-queue messaging solace

是否有任何人设置了“'”消息分组' (重新ActiveMQ)场景与Solace。

E.g。考虑大量消息(例如订单),每个订单都有唯一的订单ID。对订单的修改/更改具有相同的订单ID。 我想对不同的订单ID使用循环调度,但需要确保按顺序处理相同订单ID的邮件。

消息组专门解决了这个问题,但是我无法在Solace中看到如何实现它。

- 附加背景

我正在考虑使用以下主题结构: TOPIC / orders /,它给了我这些团体。 然后通过TOPIC / orders / *订阅

从文档中可以看出所有组件都可用:通过主题名称分组,保证消息,应用程序确认,通过非独占队列进行循环调度......但我没有看到具体示例展示如何将这些结合在一起以解决“消息组”问题。问题

感谢。

1 个答案:

答案 0 :(得分:1)

在Solace设备/ VMR上,应用程序可以写入/读取JMSXGroupID,但它对邮件传递没有影响。

以下两个常用选项可用于模拟ActiveMQ JMSXGroupID的行为。

  1. 使用多个独占队列,并根据主题对这些排序进行哈希处理。

  2. 使用请求 - 回复模型。

    a)为初始订单建立一个众所周知的主题 - TOPIC/INITIAL

    b)创建一个非独占队列 - INITIAL_QUEUE,配置为接收发送到TOPIC/INITIAL的所有邮件

    c)没有新通信目的地的发布者会将第一封邮件发送至TOPIC/INITIAL。 这会将初始消息负载平衡到多个消费者。

    d)当消费者处理消息时,消费者向另一个已知主题/队列的发布者发送答复,以便进一步的订单更新由同一消费者处理。 然后,发布者将向此目标发送进一步的更新,以确保将所有消息发送给同一个消费者。 这可以通过Solace API轻松处理,通过回复目的地和点对点收件箱主题等功能。