Для того, чтобы клиентские блоки могли работать с несколькими серверами Middleware, достаточно указать список URL этих серверов
в свойстве приложения cuba.connectionUrlList. Для Web Client это можно сделать в файле tomcat/conf/app/local.app.properties
:
cuba.useLocalServiceInvocation = false cuba.connectionUrlList = http://host3:8080/app-core,http://host4:8080/app-core cuba.webHostName = host1 cuba.webPort = 8080 cuba.webContextName = app
Порядок серверов в списке cuba.connectionUrlList
определяет приоритет, в котором клиент будет пытаться направлять запросы. Например в данном случае клиент сначала попытается
вызвать host1
, если он недоступен - то host2
. Если запрос к host2
завершился успешно, данный клиент ставит host2
первым в своем списке и продолжает работать с ним. После перезапуска клиента список восстанавливается в первоначальное значение.
Для обеспечения равномерного распределения клиентов между серверами используется свойство cuba.randomServerPriority.