建议对每条消息的最新版本提供缓存支持的消息传递产品

发布于 2024-12-17 07:38:14 字数 596 浏览 4 评论 0原文

我期待一款能够满足以下用例的消息传递产品。

  1. 发布者可以发布有关主题的消息。
  2. 每当消费者订阅某个主题时,他应该首先获取到目前为止(自发布者开始发布以来)以及以后发布的该主题上的消息。
  3. 一条消息可以有多个版本。例如,一条消息与股票信息有关。当该信息发生更改时,发布者将发布消息的版本 2。在这种情况下,稍后连接的客户端应该只能看到消息的版本 2,而不是版本 1。

  4. 这不是一个严格的要求,但如果发布者想要从代理缓存中删除某些消息,那么如果有任何客户端连接稍后,他不会在之前的消息流中收到某些特定消息。

我看过 Red Hat MRG 和 Apache Active MQ 产品,但它们似乎确实提供了此功能。

红帽 Mrg 体验 -

红帽 MRG 具有初始值交换功能,但仅缓存 交换时的单个消息。它还提供最后值队列 支持版本化消息,但需要在中创建队列 为消费者预付。我想要一些动态的东西,这样如果一个新的 订阅者连接(我事先不知道是谁),它应该 能够发送在此发布的所有消息的最新版本 话题。非常感谢您对上述用例的输入/解决方案。

I am looking forward for a messaging product which can fulfil following use case.

  1. Publisher can publish messages over a topic.
  2. Whenever a consumer subscribes to a topic, he should first get messages published on the topic so far ( since the publisher started publishing) and onwards.
  3. A message can have multiple versions. e.g. a message pertains to information for a stock. When that info changes, publisher publishes version 2 of the message. In such case, clients that connect later should see only version 2 of the message and not version 1.

  4. This one is not a strict requirement but if publisher wants to delete some message from the broker cache, so that if any client connects later, he does not get some particular message in stream of previous messages.

I have looked at Red Hat MRG and Apache Active MQ products but they do seem to provide this functionality.

Red Hat Mrg Experience-

Red Hat MRG has a feature Initial Value Exchange but that caches only
single message on exchange. It also offers Last Value Queues which
support Versioned messages but they require a queue to be created in
advance for a consumer. I want something dynamic so that if a new
subscriber connects ( about whom I do not know in advance), it should
be able to send latest versions of all the messages published on that
topic. Will really appreciate you inputs/solutions to above use case.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烦人精 2024-12-24 07:38:14

Hornetq有这个功能。其他选项(全部商业)包括 Informatica Ultra Messaging、我的频道 Nirvana 和 solace。

Hornetq has this feature. Other options (all commercial) include Informatica Ultra Messaging, my channels Nirvana and solace.

梦中楼上月下 2024-12-24 07:38:14

实际上 MRG-M 会支持您的需求。 MRG-M 具有最后值队列的概念。最后值队列类型导致先前消息的逻辑更新版本看起来覆盖了旧消息。

Actually MRG-M would support what you require. MRG-M has the concept of a last value queue. The last value queue type causes logically updated versions of previous messages to appear to overwrite the older messages.

澜川若宁 2024-12-24 07:38:14

终于找到答案了
使用 RedHat Mrg 可以实现这一点。
您必须使用仅浏览队列并创建消费者(不发送 ack )来获取初始映像和更新。

Finally found the answer
This one is possible using RedHat Mrg.
You have to use browse only queues and create consumer (that do not send ack ) to get the Initial image and updates.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文