Настройка кластерного режимаLTS
Кластерный режим Proceset позволяет объединить основной сервер приложения Proceset с дополнительными компонентами — такими как Агент автоматизации, Агент Webhook и AI Агент — в единую распределенную систему. Взаимодействие между компонентами осуществляется по протоколу gRPC с обязательным использованием взаимной аутентификации на основе X.509-сертификатов и шифрования трафика.
Этот режим повышает отказоустойчивость, масштабируемость и гибкость системы при обработке больших объемов данных или выполнении ресурсоемких задач.
Общий принцип настройки кластера
На каждой ноде кластера нужно указать:
- Уникальное имя ноды в рамках кластера (строка, например:
"proceset") - Порт для входящих gRPC-соединений (по умолчанию —
7000) - Сертификат
X.509и приватный ключ в форматеPEM/PKCS#8для текущей ноды - Список адресов других нод в формате
host:port - Сертификаты других нод для взаимной аутентификации и доверия
Все соединения между нодами обязательно шифруются. HTTP-режим не поддерживается — только HTTPS/mTLS поверх gRPC.
Настройка на Windows (Legacy-установка)
Если сервер Proceset установлен на ОС Windows:
- Создайте файл конфигурации:
C:\ProgramData\Infomaximum\config\cluster.json - Заполните его содержимым:
Где:
{ "network": { "current": { "name": "proceset", "port": 7000, "ssl": { "cert_chain_path": "ssl/proceset.crt", "private_key_path": "ssl/proceset.key", "trust_certs": ["ssl/agent01.crt", "ssl/agent02.crt"] } }, "nodes": ["agent01.domain.local:7000", "agent02.domain.local:7000"] } }Параметр Описание nameУникальное имя ноды в кластере (отображается в логах и веб-интерфейсе) portПорт для входящих gRPC-соединений cert_chain_pathПуть до сертификата X.509(PEM-сертификату) ноды Proceset (относительноC:\ProgramData\Infomaximum)private_key_pathПуть к приватному ключу X.509ноды Proceset в форматеPKCS#8trust_certsМассив путей к сертификатам других нод для доверия nodesМассив, с адресами других нод в кластере (включая порт подключения к gRPC) - Перезапустите службу Infomaximum, чтобы применить изменения.
Настройка в Docker-контейнере (Linux)
При запуске Proceset в Docker (например, в Docker Swarm) конфигурация передается через переменные окружения и Docker secrets.
Переменные окружения
| Переменная | Описание |
|---|---|
CL_NAME | Уникальное имя текущей ноды (например, "proceset") |
CL_PORT | Порт для gRPC (опционально, по умолчанию 7000) |
CL_REMOTE_NODES | Список адресов других нод, разделенных точкой с запятой: "agent01.domain.local:7000;agent02.domain.local:7000" |
Docker secrets (файлы в контейнере)
| Secret | Назначение |
|---|---|
cluster_current.crt | Сертификат текущей ноды (PEM) |
cluster_current.key | Приватный ключ текущей ноды (PKCS#8) |
cluster_remote_node_*.crt | Сертификаты удаленных нод (например, cluster_remote_node_agent01.crt) |
Пример запуска в Docker Swarm
docker service create --name infomaximum-app \
--secret infomaximum_app_https_certificate \
--secret infomaximum_app_https_certificate_password \
--secret cluster_current.crt \
--secret cluster_current.key \
--secret cluster_remote_node_agent01.crt \
--secret cluster_remote_node_agent02.crt \
--mount type=volume,src=infomaximum-app-data,target=/var/lib/infomaximum/data/ \
--mount type=volume,src=infomaximum-app-log,target=/var/log/infomaximum/ \
--publish published=443,target=8010,mode=host \
--restart-max-attempts 5 \
--restart-condition "on-failure" \
-e JVM_MAX_MEMORY='4G' \
-e FE_URL="https://server-name.domain.com" \
-e FE_CORS_POLICY="*" \
-e CL_NAME="proceset" \
-e CL_REMOTE_NODES="agent01.domain.local:7000;agent02.domain.local:7000" \
infomaximum/infomaximum_app:d250603
Настройка агентов (автоматизации, Webhook, AI) осуществляется аналогичным образом — с собственным name, сертификатом и ссылками на другие ноды, включая Proceset.
Проверка корректности настройки
После настройки всех нод:
- Войдите в веб-интерфейс Proceset под учетной записью администратора.
- Перейдите в раздел: Настройки → О системе.
- Убедитесь, что в списке отображаются все ноды кластера.
- По каждой из нод можно раскрыть подробности и увидеть номера используемых версий компонентов
Была ли статья полезна?