gpt4 book ai didi

rabbitmq - 使用 RabbitMQ : messages deduplication 的大众运输

转载 作者:行者123 更新时间:2023-12-03 21:23:30 25 4
gpt4 key购买 nike

我正在使用 MassTransitRabbitMQ在传输层,并面临消息重复数据删除的需求。

如果重复的消息已经排队(即使该消息正在由消费者处理),则应跳过向队列添加新消息。例如,可以通过消息内容来识别重复项。

发送 DoWork1, DoWork2, DoWork3可以并行处理,但发送 DoWork1, DoWork2, DoWork2 - 应跳过重复项,直到 DoWork1, DoWork2处理过的相同消息可以入队,不应被视为重复消息。

解决方案1:在交换层使用“RabbitMQ Message Deduplication Plugin”,对我来说很理想,但不确定是否解决了所描述的问题。

解决方案2:使用第三方数据存储实现自定义中间件。

对于所描述的问题,有没有更好的解决方案?

提前感谢您的帮助!

最佳答案

RabbitMQ deduplication plugin是为此目的而设计的。

您可以在交换或队列中进行重复数据删除。主要区别在于,如果交换之前看到过消息,则对其进行重复数据删除,而如果队列已包含该消息的副本,则对其进行重复数据删除。

发布消息时,只需设置x-deduplication-header带有唯一标识消息的字符串的 header (例如其正文的 MD5 哈希)。

使用自定义中间件将使您以自己的开发为代价获得更多的行动自由。

关于rabbitmq - 使用 RabbitMQ : messages deduplication 的大众运输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50625793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com