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.