Что такое Outbox паттерн и зачем он нужен?

Senior
290 просмотров
AFK Offer AI

Проблема: нужно обновить БД и отправить событие в Kafka атомарно. Два отдельных действия — можно записать в БД но упасть до публикации события. Outbox: в одной транзакции пишем и в основную таблицу, и в таблицу outbox. Отдельный процесс (CDC или polling) читает outbox и публикует события. Гарантирует at-least-once delivery без распределённых транзакций.

Следующий вопрос

Что такое TLAB и почему аллокация в Java почти бесплатна?