практикум
RabbitMQ
стек, который вы освоите
практикумы по инфраструктуре с 2018 года
- Автоматические проверки — мгновенная обратная связь по заданиям
- Проверки менторами — DevOps-инжерами с опытом в индустрии от 5+ лет
- Возможность общаться с опытными практикующими специалистами
- Свободный темп — проходите без жёстких дедлайнов
- Прикладные задачи — кейсы, приближенные к реальной работе DevOps-инженера

Кому подойдёт
Системным администраторам
Понимание MySQL позволит оптимизировать производительность, правильно настраивать конфигурацию и обеспечивать отказоустойчивость
DevOps-инженерам
Им необходимо уметь автоматизировать развёртывание, бэкапы, мониторинг и тюнинг БД для беспрерывной работы сервисов
Разработчикам
Знания MySQL помогают писать эффективные SQL-запросы, проектировать схемы и избегать узких мест
Аналитикам
Знание MySQL помогает формировать сложные выборки, агрегировать данные и оптимизировать отчёты
Как проходит
практикум
Команда Rebrain изучает, какие из компетенций требуются на разных уровнях профессий. Мы понимаем, что нужно знать, чтобы на собеседовании или при выполнении задач чувствовать себя уверенно. После наших практикумов специалисты легко адаптируются к реальным рабочим условиям.
Материалы останутся с вами навсегда
Проходите в удобное для вас время
программа практикума
Онбординг
- Онбординг
RabbitMQ
- Введение в RabbitMQ
- Routing и оркестрация микросервисов
- Publisher confirms. Dead letter exchange
- Пользователи и права доступа
- TLS. Шифрование трафика
- Clustering. Запускаем несколько нод RabbitMQ
- Плагины
- RPC. Correlation token
- Производительность. Бенчмарки
- Мониторинг и логирование
- Закрепление материала
Финальное задание
- Итоговое задание
- Заключение
Ключевые навыки для резюме:
немного о
технологии
RabbitMQ
это распределенный и горизонтально масштабируемый брокер сообщений
>35 000
компаний используют RabbitMQ по всему миру, включая Netflix, Mozilla и VMware
миллионы сообщений в секунду
RabbitMQ способен обрабатыватьпри правильной настройке и масштабировании
Пример задания
Создать кластер из двух нод на двух разных виртуалках.
Название нодам будет задаваться согласно паттерну rabbit@адрес_сервера. Соответственно у нас будет создано две ноды, например
rabbit@1.2.3.4
rabbit@5.6.7.8
Если кому-то захочется сделать названия более читаемыми (было бы круто!) - можно внести ip адреса в нод в /etc/hosts. Тогда можно будет назвать ноды так, как адрес расшифровывается в файле.
Erlang cookie можно указать любой.
Соединить ноды можно как создав docker-compose - файлы, так и запустив обе ноды отдельно и соединив их с помощью cli. Выбирайте то, что кажется удобнее.
Настройка привязок
Представим, что две наших ноды находятся в разных аэропортах двух городов (Пермь и Екатеринбург)
Нужно создать систему, которая синхронизирует данные о рейсах между аэропортами.
Основной обменник x_airport_integration
Общие сообщения
Каждый аэропорт отправляет разные сообщения о статусе рейсов в основной обменник. Ключи сообщения имеют тип event.%действие%.%город%, например event.landing.ekb или event.takeoff.prm. Эти сообщения будут отправляться в quorum очередь q_events.
Очередь q_central типа quorum - уведомления для центрального сервера - в очереди участвует обе ноды. Запросы начинаются на central..
Пермь
Очередь для событий в Перми - q_events_prm. Сюда попадают ивенты из Перми. Очередь должна быть создана на ноде в Перми.
Екатеринбург
Очередь для событий в Екатеринбурге - q_events_ekb. Сюда попадают ивенты из Екатеринбурга. Очередь должна быть создана на ноде в Екатеринбурге.
Пользователи
Создать пользователей (пароль равен логину):
central - доступ к очереди q_central. Отправлять сообщения не может.
ekb - доступ к очереди q_events_ekb. Может отправлять в x_airport_integration.
prm - доступ к очереди q_events_prm. Может отправлять в x_airport_integration.
и подробнее расскажем о практикуме.