Outbox обычно появляется в той БД, где вместе с бизнес-изменением нужно надёжно сохранить исходящее событие. Если вход пришёл из Kafka, consumer может записать результат и outbox одной транзакцией.
Где появился outbox в вашей схеме — вы сначала писали в outbox из Kafka, а потом уже публиковали из outbox?
Outbox обычно появляется в той БД, где вместе с бизнес-изменением нужно надёжно сохранить исходящее событие. Если вход пришёл из Kafka, consumer может записать результат и outbox одной транзакцией.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Outbox обычно появляется в той БД, где вместе с бизнес-изменением нужно надёжно сохранить исходящее событие. Если вход пришёл из Kafka, consumer может записать результат и outbox одной транзакцией.
После commit отдельный publisher отправляет исходящее событие. Входной offset подтверждают после надёжной записи, а inbox защищает повторную обработку входа. Outbox и inbox решают разные задачи. Простая перекладка Kafka-сообщения без изменения БД не всегда требует outbox: для Kafka-to-Kafka может подойти транзакционная обработка внутри брокерного контура.