Transactional Outbox — таблица исходящих событий, записываемых вместе с бизнес-данными в одной локальной транзакции. Отдельный отправитель доставляет committed события в брокер с контролем повторов.
Что такое Transactional Outbox?
Transactional Outbox — таблица исходящих событий, записываемых вместе с бизнес-данными в одной локальной транзакции. Отдельный отправитель доставляет committed события в брокер с контролем повторов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Transactional Outbox — таблица исходящих событий, записываемых вместе с бизнес-данными в одной локальной транзакции. Отдельный отправитель доставляет committed события в брокер с контролем повторов.
Так устраняется окно между commit данных и фиксацией намерения опубликовать событие. Но отправка и отметка «доставлено» всё равно могут разделиться сбоем, поэтому получатели дедуплицируют события по устойчивому ID. Relay должен корректно обрабатывать конкуренцию, порядок и backlog. Outbox не равен распределённой транзакции и не даёт exactly-once для любого внешнего действия. Очистка истории возможна только после соблюдения правил доставки и восстановления.