Что важно знать
- Двойная запись: записали в базу и упали до отправки события — или наоборот. Распределённые транзакции (2PC) на практике почти не используют.
- Outbox: событие пишется в таблицу в той же транзакции, отдельный процесс публикует его в брокер.
- CDC: изменения читаются из журнала базы (Debezium) и превращаются в события.
- Сага: цепочка локальных транзакций с компенсирующими действиями; хореография (события) или оркестрация (координатор).
- Итоговая согласованность: данные сходятся со временем — интерфейс и бизнес должны это допускать.