Компоненты системы
Кластер PolyAnalyst Grid содержит следующие программные компоненты:
-
База данных PostgreSQL (версии 10.x) - используется как постоянное хранилище персистентной метаинформации, накапливающейся в процессе работы системы.
База данных PostgreSQL располагаться на надежном узле кластера.
-
Координатор кластера (процесс padbservice) - используется для координации работы вычислительных серверов, распределенных задач и распределенной файловой системы.
Координатор кластера необходим для работы всей системы и поэтому также должен располагаться на надежном узле. Учитывая тот факт, что сам координатор кластера потребляет незначительные ресурсы, но интенсивно общается с базой данных, рекомендуется размещать их на одном узле.
-
Вычислительный сервер (процесс paserver) - работает на вычислительных узлах кластера.
Вычислительные серверы принимают распределенные задачи от координатора кластера и выполняют их в своих рабочих процессах. Кластер может содержать до сотни вычислительных серверов. Производительность всей системы напрямую определяется количеством вычислительных серверов в кластере.
-
Рабочие процессы (процесс paworker) - автоматически запускаются вычислительными серверами кластера и непосредственно выполняют все алгоритмические задачи системы.
Рабочие процессы необходимы для изоляции прикладного кода от его системного уровня, что повышает отказоустойчивость всей системы.
-
Сервер приложений (процесс paserver с ключом web) - специальный тип сервера, предоставляющий внешний REST API для тонких клиентов.
В зависимости от конфигурации сервер может выполнять роль как вычислительного сервера, так и сервера приложений. Он также может использоваться исключительно как сервер приложений, и в этом случае вычислительные задачи ему не назначаются.
Кластер может содержать несколько серверов приложений. Для этого понадобится настроить дополнительный прокси-сервер, например, nginx с IP-Hash балансировкой.
Для небольших кластеров и малого числа клиентских подключений рекомендуется конфигурация с одним сервером приложений на том же узле, что и координатор кластера.
-
Коллектор журналов (процесс palogarch) - необязательный компонент системы, используемый для сбора журналов в централизованное хранилище базы данных PostgreSQL.