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