SA Шпаргалка

Все ответы в 2 клика

Продвинутый

Что такое паттерн Transactional Outbox?

В микросервисах часто нужно сделать две вещи одновременно: сохранить данные в БД и отправить событие в Kafka. Если БД сохранится, а Kafka упадет — будет рассинхрон.

Transactional Outbox решает это:
1. В БД сервиса создается таблица outbox.
2. В рамках одной транзакции БД мы сохраняем бизнес-сущность (Заказ) и записываем событие ("Заказ создан") в таблицу outbox.
3. Отдельный фоновый процесс (например, Debezium) читает таблицу outbox и гарантированно отправляет события в Kafka.

✅ Итог: 100% гарантия доставки (At-least-once).

Сложная тема? Разберём на мок-интервьюЗаписаться на менторство →

Другие вопросы темы «Управление данными»

Ещё вопросы раздела «Микросервисы»

Все вопросы раздела «Микросервисы»