Можно настроить несколько серверов для кластерной конфигурации (конфигурации высокой готовности). В этой конфигурации несколько серверов работают параллельно.
Прежде чем начать
Установите распределитель нагрузки. Этот распределитель нагрузки будет распределять запросы по серверам в кластере.
Об этой задаче
Для настройки серверов в кластерной конфигурации серверы устанавливаются в отдельных системах и подключаются к одной базе данных. Затем настраивается распределитель нагрузки для распределения потока данных между серверами. Вместо прямого доступа к серверам, пользователи работают через URL распределителя нагрузки. Для пользователей этот URL выглядит хостом одного большого сервера. Пользователи не знают о том, что серверов несколько.
Процедура
- Установите и настройте базу данных обычным образом. Если база данных уже есть, ее можно использовать для серверов кластера.
См. раздел Установка базы данных.
- Если уже есть один или несколько серверов, превратите их в серверы кластера с помощью следующих действий:
- Остановить сервер.
- На сервере откройте файл установочный-каталог/ucrelease/conf/server.properties в текстовом редакторе. Вместо установочный-каталог подставьте установочный каталог сервера.
- В этом файле укажите URL и порт распределителя нагрузки в параметре public.url. Перед двоеточиями и другими специальными символами необходимо ставить обратную косую черту
(\). Пример:
public.url=http\://balancer.example.com\:8080
- Сохраните файл.
- Для установки новых серверов кластера установите серверы обычным образом, но со следующими изменениями:
- Подключите каждый сервер к одной базе данных.
- For the host name that the users access,
specify the host name of the load balancer, not the computer that
hosts the server.
- При установке серверов в одной системе у серверов должны быть разные порты для запросов HTTPS.
См. раздел
Установка сервера. Выпишите номера портов, они потребуются позднее.
По умолчанию для запросов HTTP используется порт 8080, а для запросов HTTPS - порт 8443.
- Запустите каждый сервер.
- Войдите на один сервер и включите переключатель Оставить меня в системе.
- Откройте файл server.properties для этого сервера.
- В файле server.properties найдите свойство cookie.key и скопируйте его значение. Это свойство содержит ключ, который добавляется в cookie при входе пользователя. Позднее этот ключ надо будет скопировать на другие серверы, чтобы пользователям не пришлось входить отдельно на каждый сервер.
- В файл server.properties каждого сервера добавьте следующие свойства:
ha.activation.enabled=yes
ha.node.name=имя-узла
cookie.key=ключ-cookie
Для имя-узла укажите уникальное имя узла для каждого сервера. После настройки серверов это имя узла появится на каждом сервере. Знание используемого сервера может помочь в отладке. Узнать имя используемого узла можно щелчком на Справка в верху любой страницы. Имя узла показывается в меню (см. следующий рисунок). Для ключ-cookie укажите ключ cookie, скопированный на первом сервере. Этот ключ должен быть одинаковым на всех серверах. Например, добавляемые в файл
server.properties свойства могут выглядеть следующим образом:
ha.activation.enabled=yes
ha.node.name=HA node 1
cookie.key=D3ZizBbRSWFjdOQ8N2a/yQ\=\=
- Необязательно: Для сохранения вложений в общем каталоге добавьте свойство attachments.folder.path и укажите в нем общий каталог, как в следующем примере:
attachments.folder.path=/
- Перезапустите все серверы.
- Настройте распределитель нагрузки для распределения нагрузки между серверами. См. документацию применяемого распределителя нагрузки.
Результаты
После настройки распределителя нагрузки для распределения соединений между серверами пользователи смогут подключаться к единому URL и использовать ресурсы всех серверов. Серверы также гарантируют, что используется только одна лицензия на пользователя, даже если пользователь взаимодействует с несколькими серверами.