<< Click to Display Table of Contents >> Разработка > Процесс разработки > Публикация Публикация в распределенную систему |
В распределенных системах для масштабирования используется отказоустойчивый кластер. При такой конфигурации сервисы дублируются, поэтому для публикации изменений разработки нужно обновить каждый узел кластера. По умолчанию при публикации пакета разработки с помощью утилиты DeploymentToolCore все узлы отключаются одновременно, и система становится недоступна.
Иногда необходимо опубликовать разработку в рабочее время. Кроме того, есть компании, в которых серверная инфраструктура работает круглосуточно и нет возможности остановить ее даже на короткое время. В таких случаях публикацию рекомендуется запускать через утилиту DeploymentToolCore с параметром --distributed. Это позволяет без перезагрузки узлов и остановки системы вносить небольшие изменения в разработку: новое расположение элементов на панели действий и форме, изменение обработчиков и функций, строк локализации, иконок и т.д.
ВАЖНО. Публикация с параметром --distributed недоступна, если внесенные изменения требуют генерацию структуры данных: создание нового типа сущности, изменение типа данных и т.п.
Перед первой публикацией
Убедитесь, что в конфигурационном файле haproxy.cfg балансировщика нагрузки HAProxy для узлов с веб-сервером и сервисом интеграции указана проверка работоспособности httpchk. Если узел не отвечает на HTTP-запросы, то считается недоступным. В этом случае клиентские запросы перенаправляются на рабочие узлы.
Далее в примере вместо значений, выделенных жирным шрифтом, укажите свои значения:
backend rx-nodes-api
option httpchk
http-check send meth GET uri /client/api/health hdr host rx.example.com
balance roundrobin
server rx1 192.168.1.30:443 check
server rx2 192.168.1.31:443 check
backend integration-nodes-backend
option httpchk
http-check send meth GET uri /integration/health hdr host rx.example.com
balance roundrobin
server rx1 192.168.1.30:443 check
server rx2 192.168.1.31:443 check
Подробнее о настройке балансировщика см. раздел «Настройка HAProxy» (Windows, Linux).
ПРИМЕЧАНИЕ. Если в качестве балансировщика вместо HAProxy используется, например, Nginx, то проверка доступности по HTTP-запросам настраивается аналогично. Подробнее см. документацию на используемое программное обеспечение.
Запуск публикации в распределенную систему
1.Запустите командную строку от имени администратора и перейдите в папку с Directum Launcher.
ВАЖНО. Утилиту DeploymentToolCore необходимо запускать из папки с инструментом Directum Launcher, с помощью которого установили систему.
2.Выполните команду:
do dt deploy --package="<Путь к пакету>" --distributed
./do.sh dt deploy --package="<Путь к пакету>" --distributed
Примеры команд:
do dt deploy --package="D:\CustomDev\DevPackage.dat" --distributed
./do.sh dt deploy --package="srv/CustomDev/DevPackage.dat" --distributed
В результате, если:
•генерация структуры данных не требуется, то запускается публикация в распределенную систему. При публикации изменения вносятся последовательно на каждом узле, то есть становится недоступен только обновляемый узел. Балансировщик нагрузки автоматически перенаправляет клиентские запросы на рабочие узлы, поэтому обновление происходит незаметно для пользователей. Процесс завершается после публикации изменений на всех узлах;
•генерация структуры данных требуется, то выводится предупреждение, публикация в распределенную систему не запускается. В этом случае запустите стандартную публикацию, без использования ключа --distributed. Подробнее см. раздел «Публикация с помощью командной строки».
© Компания Directum, 2024 |