1

是否有人使用 Solace 设置了“消息分组”(重新 ActiveMQ)场景。

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

消息组专门解决了这个问题,但我看不到如何在 Solace 中实现相同的功能。

-- 附加上下文

我正在考虑使用主题结构,例如: TOPIC/orders/ ,它为我提供了组。然后通过 TOPIC/orders/* 订阅...

从文档看来,似乎所有组件都可用:通过主题名称进行分组,保证消息,应用程序确认,通过非排他队列进行循环调度......但我没有看到一个具体的例子来展示如何带来这些共同解决“消息组”问题。

谢谢。

4

1 回答 1

1

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

这里有两个常用的选项来模拟 ActiveMQ 的行为JMSXGroupID

  1. 使用多个独占队列并根据它们的主题散列它们之间的订单。

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

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

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

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

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

于 2016-06-15T07:40:20.710 回答