advanced

Kafka, RabbitMQ и messaging

Проектируйте queues, streams, brokers, consumers, delivery guarantees, retry flows и broker selection для distributed JavaScript systems.

На интервью по messaging проверяют выбор брокера и паттернов под семантику доставки, порядок и отказы — а не заучивание флагов. Сравнивайте Kafka (лог, партиции, consumer groups, replay) с RabbitMQ (exchanges, queues, routing, DLX) и более простые варианты на Redis.

Охват: паттерны надёжности (retry/DLQ, идемпотентные consumers, poison messages, компромиссы exactly-once) и критерии выбора event streaming vs task queues.

На интервью: спроектируйте поток для события order-paid с учётом сбоя, retry и дубликатов.

Типовые ошибки: exactly-once «везде», игнор consumer lag, топики без стратегии retention.

Чеклист:

  • Назовите реально нужную гарантию доставки.
  • Планируйте идемпотентность на consumers.
  • Разделяйте commands и events, когда это важно.
  • Мониторьте lag, глубину DLQ и poison messages.