Возможно ли одно сообщение RabbitMQ на пользователя? - PullRequest
1 голос
/ 05 апреля 2019

Совершенно новый для rabbitMQ, но рассматривает возможность использования его в качестве механизма очередей в GKE. У меня есть вопрос, который, вероятно, довольно прост.

Есть ли способ обрабатывать только одно сообщение от пользователя (GUID в моем приложении) в определенный момент времени (даже если у меня несколько работников). По сути, у меня есть сторонние сторонние разработчики, которые отправляют на одну из моих конечных точек дубликаты сообщений. Я могу подтвердить, что уже есть дубликат документа POST, если я работаю синхронно (для каждого пользователя). Проблема возникает, если несколько рабочих узлов обрабатывают отдельные сообщения для одного и того же пользователя одновременно.

Возможно ли это в RabbitMQ? Есть ли рекомендуемый способ справиться с этим? Большое спасибо.

1 Ответ

1 голос
/ 05 апреля 2019

Это невозможно, если несколько рабочих работают из одной очереди.Либо есть один работник, убедитесь, что обработка сообщений идемпотентна, либо координаты между вашими работниками.


ПРИМЕЧАНИЕ: команда RabbitMQ контролирует rabbitmq-users список рассылки и только иногда отвечает на вопросы по StackOverflow.

...