Возьмем эту простую архитектуру:

Для операций №1 и №2 я могу использовать Шаблон исходящих, чтобы гарантировать, что изменения в базе данных приведут к публикации сообщения в очереди.
Или просто Одноэтапная фиксация, когда я вставляю транзакцию базы данных в границы транзакции обмена сообщениями:
- Начать транзакцию обмена сообщениями
- Начать транзакцию базы данных
< li>Получить сообщение - Обновить базу данных
- Подтвердить транзакцию базы данных
- Подтвердить транзакцию обмена сообщениями
- прочитать сообщение
- записать в базу данных
- отправить ответное сообщение в другую очередь
Подробнее здесь: https://stackoverflow.com/questions/790 ... oreography