感谢论坛的回复和分享。我正在寻找rabbit mq端的重复数据删除设置。它是在队列端还是交换端?
我们是否有配置rabbit mq或队列或交换的步骤,以便除了一条消息之外丢弃重复的消息。消息包含id号(简单地说,整数或数字字符串不是任何复杂对象),但从应用程序的某个时候起,它从各种实体侦听器发送(java /jpa)在某些事件和消息重复是肯定的和不可避免的大多数情况下。我们想存储一个消息和处理一个出的重复消息。我'我正在寻找rabbit mq中的一个特性,以便它可以处理重复数据删除。
我在网上没有找到太多的细节。如果有人知道或探索过这个,你能告诉我一个链接或类型在这里如何。
先谢了。萨纳尔
**预期在Rabbit mq端配置一些步骤,以便最大限度地减少消息发布者端的逻辑/重复数据删除逻辑。
2条答案
按热度按时间bqujaahr1#
RabbitMQ不支持使用经典、仲裁和流队列的重复数据删除。
唯一的重复数据删除是使用Stream-Plugin和RabbitMQ流客户端。
例如,请参见有关此内容的java文档
另请参阅此gist关于流和流插件
3pvhb19x2#
这个答案可能有点晚了,但是这个插件可能很有用https://github.com/noxdafox/rabbitmq-message-deduplication
使用它,您可以定义消息重复数据删除交换,并使用特定的头(已检查其唯一性)发布消息。
代码片段在ruby,使用兔子宝石:
执行后,队列将包含内容为
ping
和pong
的2条消息