Знакомство с курсом
О курсе
Спикер курса
Брокеры сообщений
Вы узнаете, что такое брокер и какое место он занимает в инфраструктуре. А также научитесь устанавливать необходимые компоненты.
Теория:Общие сведения что такое брокеры сообщений
Место RabbitMQ в инфраструктуре
Фундаментальные отличия RabbitMQ от Apache kafka
Инструментарий для практических занятий (docker, docker-compose)
Практика:
Установка docker
Тест по теме
Терминология, базовые сущности RabbitMQ
Вы пойметете терминологию каждой сущности и сможете применять их в коммуникации и при чтении документации.
Теория:Все основные сущности и их связи (Message, Queue, Exchange, Binding, Publisher, Consumer)
Где можно почитать документацию
Практика:
Тест по теме
Первые шаги с RabbitMQ
Вы научитесь запускать и настраивать сервис в docker, узнаете основные команды и возможности управления через веб-интерфейс.
Теория:Запуск сервиса в docker
Обязательные параметры
Стейты — сохранение персистентных данных
Возможности веб-интерфейса
Возможности консоли
Практика:
Запуск в docker
Создание очереди
Создание сообщения
Чтение сообщения
Тест по теме
Типовое использование
Вы будете понимать для каких типовых задач можно (и нужно) использовать сервис, узнаете нюансы настройки каждой сущности и научитесь создавать типовые пайплайны обработки.
Теория:Типовые паттерны использования (кейсы)
Настройки консьюмеров (prefetch_count, autoack, heartbeat)
Типы и отличия эксчейнджей, паттерны роутинга
Очереди повторных попыток (DLX
Практика:
Настройка тестового Publish
Настройка тестового Consumer
Настройка очереди повторных попыток через механизм DLX
Тест по теме
High Availability, High Load
Вы узнаете о возможностях сервиса в плане балансировки нагрузки и отказоустойчивости. Научитесь настраивать отказоустойчивый кластер и будете в курсе нюансов использования кластера.
Теория:Балансировка нагрузки
Кластеризация
Кворумные очереди
Shovel/Federation
Подводные камни кластеризации
Практика
Настройка балансировщика нагрузки (haproxy)
Настройка кластера из 3 нод
Проверка отказоустойчивости кластера
Настройка shovel'ов (динамическая и статическая)
Тест по теме
Мониторинг
Вы узнаете, как настраивать мониторинг, какие метрики и в каких ситуациях полезны, как на них реагировать. Научитесь настраивать мониторинг с уведомлениями в телеграм через связку прометей-графана.
Теория:Логирование — уровни, гадание на логах
Встроенный, внешний экспортер в прометей
Пороги алертинга
Полезные метрики
Практика:
Настройка экспортера
Настройка стека telegraf+prometeus+grafana
Настройка уведомлений
Тест по теме
Дополнительные возможности RabbitMQ
Вы узнаете о более специфичных кейсах использования Rabbit, о нюансах конфигурирования очередей через полиси.
Теория:Неочевидные способы применения Dead Letter Exchange (DLX)
Policy — плюсы, минусы, подводные камни
TTL сообщений — почему плохая идея
Плагины
Ответы на сложные вопросы из первой АМА-сессии
Практика:
Настройка многоуровневой очереди повторных попыток
Тест по теме