В данном случае реализован функционал переключения по прямым ссылкам по нодам кластера RMQ. В случаях, когда кластер RMQ реализован через балансировщик, в настройках RMQ указывается его адрес, без необходимости включения настройки [Работа с кластером] Переключение работает по следующему принципу: - Включаем "Работу с кластером" в [настройках подключения к Лояльности](Дизайнер системы) на стороне БПМ; - Прописываем настройки, приоритет должен соответствовать настройкам на стороне сервисов ПЦ; - Останавливаем/отключаем RMQ с которым установлено активное подключение на данный момент; - В течение определённого времени (в моём случае меньше минуты) БПМ и ПЦ выполняют 5 попыток подключения и начинают попытки подключения по списку от первого приоритета до последнего; Пример: Подключены RMQ1, RMQ2, RMQ3. Активное подключение к RMQ1. RMQ1 остановлен. БПМ и Сервис выполняют попытки подключения к RMQ1, затем переключаются на RMQ2. Активное подключение к RMQ2. RMQ2 остановлен. БПМ и Сервис выполняют попытки подключения к RMQ2, затем идёт попытка подключения по списку от более приоритетных к менее приоритетным (т.е. на RMQ1). Пример настройки сервиса Core в файле docker-compose.yml , остальные сервисы прописываются без изменений: ``` version: '3.3' services: core: image: registry.gitlab.com/samarasoft/samarasoft.loyalty.core/rabbitclusterworking:1350787737 environment: ASPNETCORE_URLS: http://*:5020 DB_HOST: 172.17.0.1 DB_PORT: 5432 DB_NAME: loyaltyrmq DB_USER: admin DB_PASSWORD: password RMQ_CLUSTER_OPTIONS: "[{\"HostName\": \"172.17.0.1\",\"UserName\": \"admin\",\"Password\": \"password\",\"VirtualHost\": \"/\", \"Priority\": 4},{\"HostName\": \"rabbitmqCluster\",\"UserName\": \"admin\",\"Password\": \"password\",\"VirtualHost\": \"/\", \"Priority\": 0}]" RMQ_QUEUE: loyalty API_AUTH_TOKEN: secret restart: on-failure ports: - "5020:5020" labels: NAME: "core" depends_on: - rabbitmq - postgres networks: - mynetwork ```