Message Brokers

RabbitMQ и Kafka на практике: от Docker Compose до Outbox и мониторинга

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

  1. RabbitMQ vs Kafka: очереди против лога — Два разных подхода к доставке сообщений - когда брать каждый
  2. RabbitMQ в Docker Compose: поднимаем брокер за 2 минуты — Очереди, exchange, routing key - на пальцах
  3. Producer на Go: публикуем события в RabbitMQ — Пишем маленький publisher без лишней магии
  4. Consumer на Go: воркеры, ack/nack и graceful shutdown — Как не потерять сообщения и не зациклиться
  5. Idempotency + Dead Letter Queue: защита от дублей и ям — Повторная доставка - норма, надо уметь жить
  6. Transactional Outbox: связка БД и брокера без потерь — Надёжная публикация без «половинных успехов»
  7. Kafka в Docker Compose: KRaft без ZooKeeper — Запускаем одноузловой Kafka кластер в KRaft-режиме - без ZooKeeper, без лишних зависимостей
  8. Producer на Go: публикуем события в Kafka (franz-go) — Sync и async отправка, partition key, graceful flush
  9. Consumer Group на Go: партиции, offset commit — Читаем события из Kafka - воркеры, commit стратегия, graceful shutdown
  10. Exactly-once в Kafka: idempotent producer и транзакции — At-most-once, at-least-once, exactly-once - на практике с franz-go
  11. Transactional Outbox с Kafka: БД и брокер без потерь — Outbox Poller и CDC через Debezium - два подхода к согласованности
  12. Мониторинг Kafka: consumer lag, throughput, Prometheus — Метрики producer и consumer, alerting на lag, kafka-ui и CLI
  13. Мини-проект: LessonCompleted в RabbitMQ и Kafka — Один event, два брокера - email через RabbitMQ, аналитика через Kafka