Выбор ответа Senior Асинхронные интеграции и брокеры обновлено

CDC для публикации событий

Вопрос

Чем CDC (например, Debezium, читающий журнал транзакций базы) хорош для реализации outbox?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Публикует события из журнала транзакций без поллинга таблицы. CDC читает журнал (в PostgreSQL WAL через логическую репликацию) и публикует изменения в брокер, это снижает нагрузку и задержку по сравнению с опросом таблицы.

Варианты ответа

  1. Позволяет отказаться от схемы событий и версионирования
  2. Публикует события из журнала транзакций без поллинга таблицыправильный ответ
  3. Гарантирует доставку exactly once до каждого потребителя
  4. Убирает необходимость в брокере, события идут из базы напрямую

Разбор

CDC читает журнал (в PostgreSQL WAL через логическую репликацию) и публикует изменения в брокер, это снижает нагрузку и задержку по сравнению с опросом таблицы. Но дубли при сбоях возможны, поэтому exactly once до потребителя он не гарантирует. Схема событий по-прежнему нужна. Брокер остаётся транспортом.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.