Event-Driven

События, подписчики, гарантии доставки, outbox/inbox и наблюдаемость

Уроки курса (10)

  1. Event-Driven архитектура: что это и зачем она нужна — Делаем систему, где события связывают сервисы слабее, чем прямые вызовы
  2. Domain Event: «факт случился» — и это полезно — Как формулировать события и не путать их с командами
  3. Event Bus vs Message Broker: в чём разница — Когда хватает in-process событий, а когда нужен брокер (Kafka/RabbitMQ)
  4. Publisher/Subscriber: подписки без сюрпризов — Схемы топиков, ключи, фильтры и порядок обработки
  5. Гарантии доставки: at-most-once / at-least-once / exactly-once — Почему «ровно один раз» редко бывает бесплатным
  6. Idempotency: как не выполнить одно и то же дважды — Ключ идемпотентности, дедупликация и повторная доставка
  7. Outbox + Inbox: как связать БД и брокер без потерь — Шаблон, который спасает от «записали в БД, но событие не ушло»
  8. Saga: как оркестрировать распределённые процессы — Компенсации вместо транзакций на всю систему
  9. Наблюдаемость: трассировка, корреляция, метрики и алерты — Чтобы события не превращались в невидимый хаос
  10. Мини-проект: события в BackendStart (LessonCompleted → Achievements/Email/Analytics) — Собираем рабочую схему: домен → outbox → брокер → подписчики