Transactional outbox
Вопрос
Что такое transactional outbox?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Ответ
Сервис в одной транзакции меняет бизнес-данные и пишет событие в таблицу outbox. Отдельный процесс (поллер или CDC вроде Debezium) читает outbox и публикует события в брокер. Атомарность даёт транзакция базы, доставка at-least-once, потребители идемпотентны.
Разбор
Сервис в одной транзакции меняет бизнес-данные и пишет событие в таблицу outbox. Отдельный процесс (поллер или CDC вроде Debezium) читает outbox и публикует события в брокер. Атомарность даёт транзакция базы, доставка at-least-once, потребители идемпотентны.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «CDC и инкрементальная загрузка»
- Удаления в аналитике
- Применить события Debezium к состоянию
- Поле op в событии Debezium
- Удаления при инкременте по updated_at
- Спроектируйте репликацию данных сервисов в хранилище через CDC
- Полная или инкрементальная загрузка
- Преимущества log-based CDC
- Запуск CDC из PostgreSQL