Компоненты системы

Кластер PolyAnalyst Grid содержит следующие программные компоненты:

  • База данных PostgreSQL (версии 10.x) - используется как постоянное хранилище персистентной метаинформации, накапливающейся в процессе работы системы.

    База данных PostgreSQL располагаться на надежном узле кластера.

  • Координатор кластера (процесс padbservice) - используется для координации работы вычислительных серверов, распределенных задач и распределенной файловой системы.

    Координатор кластера необходим для работы всей системы и поэтому также должен располагаться на надежном узле. Учитывая тот факт, что сам координатор кластера потребляет незначительные ресурсы, но интенсивно общается с базой данных, рекомендуется размещать их на одном узле.

  • Вычислительный сервер (процесс paserver) - работает на вычислительных узлах кластера.

    Вычислительные серверы принимают распределенные задачи от координатора кластера и выполняют их в своих рабочих процессах. Кластер может содержать до сотни вычислительных серверов. Производительность всей системы напрямую определяется количеством вычислительных серверов в кластере.

  • Рабочие процессы (процесс paworker) - автоматически запускаются вычислительными серверами кластера и непосредственно выполняют все алгоритмические задачи системы.

    Рабочие процессы необходимы для изоляции прикладного кода от его системного уровня, что повышает отказоустойчивость всей системы.

  • Сервер приложений (процесс paserver с ключом web) - специальный тип сервера, предоставляющий внешний REST API для тонких клиентов.

    В зависимости от конфигурации сервер может выполнять роль как вычислительного сервера, так и сервера приложений. Он также может использоваться исключительно как сервер приложений, и в этом случае вычислительные задачи ему не назначаются.

    Кластер может содержать несколько серверов приложений. Для этого понадобится настроить дополнительный прокси-сервер, например, nginx с IP-Hash балансировкой.

    Для небольших кластеров и малого числа клиентских подключений рекомендуется конфигурация с одним сервером приложений на том же узле, что и координатор кластера.

  • Коллектор журналов (процесс palogarch) - необязательный компонент системы, используемый для сбора журналов в централизованное хранилище базы данных PostgreSQL.