Я использую MassTransit
с RabbitMQ
на транспортном уровне и столкнулся с необходимостью дедупликации сообщений.
Добавление нового сообщения в очередь следует пропустить, если дублированное сообщение уже поставлено в очередь (даже если это сообщениеобрабатывается потребителем).Дубликаты могут быть идентифицированы, например, по содержанию сообщения.
Отправка DoWork1, DoWork2, DoWork3
может обрабатываться параллельно, но отправка DoWork1, DoWork2, DoWork2
- дубликаты должны быть пропущены, и до DoWork1, DoWork2
могут обрабатываться одни и те же сообщения.поставлен в очередь и не должен восприниматься как дубликаты.
Решение 1: использовать " Плагин дедупликации сообщений RabbitMQ " на уровне обмена, идеально подходит для меня, но не уверен, что решает описанную проблему.
Решение 2: внедрить пользовательское промежуточное ПО со сторонним хранилищем данных.
Есть ли лучшее решение для описанной проблемы?
Заранее спасибо за помощь!