Другое предложение касается отвалов - умных конечных точек школы мысли.
Вы можете обрабатывать уникальность в вашем приложении, используя какое-то общее состояние.
У нас была такая же проблема при переключении с Gearman на RabbitMQ. Мы используем memcached для отслеживания уникальных идентификаторов сообщений, опубликованных, и потребители отбрасывают сообщения, для которых идентификатор сообщений уже сохранен в memcache (дубликаты). Вы также можете проверить memcache перед тем, как поместить его в очередь.
Это освобождает вас от использования этой функции на уровне шины сообщений (так что вы можете более легко переключаться между брокерами, в том числе теми, кто не гарантирует уникальность)