Что вы можете сказать о паттерне Transactional Outbox?

Transactional Outbox связывает изменение данных и намерение отправить событие одной локальной транзакцией. Доставкой записей outbox занимается отдельный relay.

Короткий ответ

Что ответить на собеседовании

Transactional Outbox связывает изменение данных и намерение отправить событие одной локальной транзакцией. Доставкой записей outbox занимается отдельный relay.

Подробный разбор

Ответ с пояснениями

Transactional Outbox связывает изменение данных и намерение отправить событие одной локальной транзакцией. Доставкой записей outbox занимается отдельный relay.

Relay может опрашивать таблицу или получать изменения через CDC. При недоступном брокере он повторяет отправку; запись не должна исчезать до подтверждённого результата.

Паттерн закрывает разрыв между commit в БД и первой публикацией, но не отменяет дубли. Нужны event ID, идемпотентные потребители и определённый порядок событий для одного объекта. Контролируйте backlog, возраст самой старой записи и очистку успешно отправленных событий. Сам outbox не означает мгновенную согласованность всех сервисов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее