使用 Python 鼠兔库合并 RabbitMQ 队列的最佳方法是什么?

What is the best way to merge RabbitMQ queues using Python pika library?

我有 X 个 RabbitMQ 队列。一些队列包含重复消息(例如,消息存储在队列 A 和队列 B 中)。

我正在努力实现一件事:处理来自 "input" 队列的所有消息(我创建了一个连接到这些队列的消费者),随时删除重复消息并将结果数据发送到一个输出排队。

最快最有效的方法是什么?

据我所知,AMQP message_id 属性 是可选的,所以我必须实现某种比较 "seen" 消息新来的人来实现我的目标。

我想到了散列消息体,但由于我对算法比较陌生,所以我不确定要使用哪个函数以及要关注什么。

如果可能,您可以将这两个消息都转换为JSON并进行比较。 Json比较过来的post之一 How to compare two JSON objects with the same elements in a different order equal?

我最终使用 SHA1 对消息正文进行了散列处理,并存储了看到的消息的散列值。 没有看到的消息被转发到结果队列,已经看到的被丢弃。