ЛентаСтатьиЗаметкиКурсы
Рецепты

Брокеры сообщений: Kafka, RabbitMQ, Redis

От гарантий доставки и паттернов — к продвинутому владению тремя брокерами: Kafka, RabbitMQ и Redis Streams на Go, с локальными стендами, мониторингом и разбором инцидентов.

Состав трека

  1. 1
    Фундамент брокеров сообщений

    Язык распределённых систем: гарантии доставки, идемпотентность, паттерны (Outbox, Saga, DLQ, backpressure) и ландшафт брокеров — общая база трека на Go.

  2. 2
    Apache Kafka для Go: от партиций до продакшена

    Модель лога, продюсер и консьюмер до продакшена, exactly-once и транзакции, Schema Registry, KRaft, sink в PostgreSQL — с лабами на testcontainers.

  3. 3
    RabbitMQ для Go: AMQP и не только

    AMQP-модель, publisher confirms, prefetch и ack-стратегии, quorum queues, DLX/TTL/priority, кластер, RabbitMQ Streams — и лабораторная «Надёжный воркер».

  4. 4
    Redis как брокер: Pub/Sub и Streams

    Когда очередь живёт в Redis: Pub/Sub, Streams и consumer groups, XADD/XREADGROUP, pending и claim, персистентность, Sentinel и Cluster — и границы применимости.

  5. 5
    Redis в Go-проектах: кэш, локи и rate limitingдоп.

    Практический курс о Redis в Go-сервисах: клиент как системный компонент, кэш и распределённые локи, и главное — rate limiting в кластере: Token Bucket на Lua, входящие запросы и лимиты на внешние API.

  6. 6
    OrderFlow: три брокера в одном пайплайне

    Капстоун трека: MVP из пяти Go-сервисов с RabbitMQ, Kafka и Redis Streams — Outbox, Saga-оркестратор, OpenTelemetry-трейсинг, security, нагрузочные тесты и защита проекта.

О треке

Трек для Go-разработчиков, которым нужен не «обзор брокеров», а рабочая глубина: выбрать инструмент под задачу осознанно, понимать цену каждой гарантии доставки и эксплуатировать выбранный брокер — с метриками, алертами и разбором типовых отказов.

Как устроен трек. Сначала — общее ядро («Фундамент»): язык распределённых систем, паттерны надёжности (Outbox, Saga, DLQ, backpressure) и ландшафт, где каждый брокер получает честное место. Затем — отдельные курсы по инструментам: Kafka, RabbitMQ и Redis как брокер — каждый со своим стендом для локального запуска, лабами и продвинутыми темами. Рядом — дополнительный курс «Redis в Go-проектах»: кэш, распределённые локи и rate limiting, то есть Redis как часть сервиса, а не как брокер. Замыкает трек капстоун OrderFlow: пять Go-сервисов, три брокера в одном пайплайне, трейсинг, безопасность и нагрузочные тесты.

Кому подходит. Backend-разработчикам на Go со средним уровнем: каналы, горутины и базовый SQL в активе; опыт продакшен-эксплуатации — не обязателен, но пригодится.

Что на выходе. Вы умеете: спроектировать доставку под SLA и защитить выбор брокера trade-offs'ами; написать идемпотентного консьюмера и надёжный пайплайн (Outbox, Saga, DLQ); поднять брокера локально, измерить throughput и latency; читать метрики (lag, ISR, pending, memory alarm) и вести инцидент от симптома к причине.