
проектирующим микросервисные или распределенные системы, где необходим надёжный механизм для асинхронного взаимодействия между компонентами
ответственным за развёртывание, настройку и поддержку брокеров сообщений в production-среде, обеспечивая их отказоустойчивость и производительность
Которые проектируют сложные системы и выбирают технологии для построения слабосвязанных масштабируемых архитектур
Команда Rebrain изучает, какие из компетенций требуются на разных уровнях профессий.
Создать кластер из двух нод на двух разных виртуалках.
Название нодам будет задаваться согласно паттерну 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.
При использовании данного сайта, вы подтверждаете свое согласие на использование файлов cookie и других похожих технологий в соответствии с настоящим Уведомлением.