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

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

GoRabbitMQAMQPQuorum QueuesDLXPublisher Confirmsamqp091

Курс по RabbitMQ — самому «человеческому» из брокеров: простая ментальная модель (exchange → queue → consumer) и самая густая часть с подводными камнями.

Цель: довести RabbitMQ от «hello world» до продакшена: свободно ориентироваться в AMQP-модели, выбирать тип exchange осознанно, строить надёжную доставку (publisher confirms, ack/nack/reject, prefetch), использовать DLX/TTL/priority как конструктор, понимать, что происходит в кластере, и собрать лабораторную «Надёжный воркер».

Состав:

  1. RabbitMQ — классика с характером — connection/channel/exchange/queue, 4 типа exchange, publisher confirms, prefetch и ack-стратегии, quorum queues и кластер, DLX-цепочки, TTL, priority, lazy-режим, graceful shutdown. Лабораторная «Надёжный воркер» с retry и DLQ.
  2. Мониторинг: очереди, alarms, flow — триада ready/unacked/consumers, publish vs deliver, memory/disk alarms (alarm на одном узле блокирует весь кластер!), плагин rabbitmq_prometheus, дашборд, пять алертов.
  3. Инциденты — memory alarm под нагрузкой, «мёртвый хват» unacked, poison-циклы через DLX, flow control и blocked publishers, шторм соединений: симптом → метрика → причина → лечение, всё воспроизводится на кластере.
  4. Streams и multi-DC — RabbitMQ Streams как лог с replay и офсетами, shovel для миграций/DR, federation для Active-Active гео; честное решение «Streams или Kafka».

Формат: теория с Go-кодом (amqp091-go, rstream-go) в каждом уроке, лабораторные с chaos-воспроизведениями, квиз, шпаргалки. Стенд — кластер из трёх узлов (make up), метрики и Prometheus — make up-obs, лабы alarm/отказ узла — make mem-alarm, make kill-node.

Темп: ~10 недель (70–80 часов). Предварительно — курс трека «Фундамент брокеров сообщений».

Программа курса

1

Модуль 1. RabbitMQ — классика с характером

→
2

Модуль 2. Мониторинг RabbitMQ: очереди, alarms, flow — и что алертить

→
3

Модуль 3. Инциденты RabbitMQ: memory alarm, «мёртвый хват», flow control, poison-циклы

→
4

Модуль 4. RabbitMQ Streams и multi-DC: shovel, federation и когда это вместо Kafka

→
Начать обучение