Вопрос

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

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

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

Спасибо!

Это было полезно?

Решение

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

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

Не стесняйтесь отправлять электронное письмо на RabbitMQ-discuss для получения дополнительной информации и вопросов.

ХТХ

Алексис

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top