Транзакции RabbitMQ и DB - PullRequest
       13

Транзакции RabbitMQ и DB

4 голосов
/ 02 марта 2010

Поддерживает ли RabbitMQ сценарий, когда подтверждение приема сообщения отправляется при фиксации транзакции БД?

В настоящее время мы отправляем подтверждение после подтверждения транзакции БД. Если в промежутке между службами происходит сбой, мы получим дублирование данных - служба снова получит то же сообщение.

Есть ли шаблон для этой проблемы?

Спасибо!

1 Ответ

3 голосов
/ 03 марта 2010

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

Если вы хотите использовать свою собственную БД, вы можете настроить ее в качестве конечного потребителя для сообщений. В этом случае вы должны использовать свой собственный ack уровня приложения.

Не стесняйтесь, пишите rabbitmq-обсудить для получения дополнительной информации и вопросов.

НТН

Alexis

...