Серверы

Сервер Платформы (или узел) является базовой сущностью, обеспечивающей работу системы. Для каждого физического или виртуального сервера для включения в кластер необходимо зарегистрировать Сервер Платформы. На одном физическом или виртуальном сервере может быть зарегистрирован только один сервер. Этот сервер управляет всеми очередями сообщений и обеспечивает доставку сообщений до сервисов и коннекторов к внешним системам. Также на сервере выполняется контроль по взаимодействию с сервисами и коннекторами, выполняется сбор статистических данных.

Создание сервера

Чтобы добавить новый сервер в кластер, перейдите в раздел Серверы и нажмите на кнопку + в рабочей области:

../_images/image8.png

Отобразится меню добавления нового сервера:

../_images/image9.png

На вкладке Основные заполните следующие поля:

  • Название: произвольное название сервера.

  • Имя: уникальное имя сервера.

  • Адрес: адрес сервера.

  • Порт: номер порта, на котором доступен сервер.

  • Комментарий: дополнительное описание сервера.

Для активации сервера установите флажок Включен.

Для перехода в режим редактирования конфигурации сервера нажмите на соответствующую кнопку:

../_images/image801.png

После внесения данных нажмите на кнопку Сохранить и нажмите на кнопку Применить конфигурацию:

../_images/config_apply2.png

Параметр

Тип данных

Описание

hasControlCenter

boolean

Установлен ли Центр настройки.

address

string

Адрес машины, к которой привязан узел.

port

integer($int32)

Порт для подключения Центра настройки и других узлов.

controlCenterPort

integer($int32)

Порт сервера управления.

serviceKey

string($uuid)

Идентификатор хоста, на котором работает узел

replicateTo

[string($uuid)]

Список узлов, на которые выполняется репликация.

allocationsGlobal

AllocationConfig

Настройки привязки модулей и систем к узлу.

nodeResolveList

[NodeResolveEntity]

Настройки сопоставления имен машин и их ip-адресов.

isActive

boolean

Запущен ли узел.

folderId

string($uuid)

Идентификатор папки.

entityId

string($uuid)

Идентификатор объекта метаданных.

clusterId

string($uuid)

Идентификатор кластера.

name

string

Имя.

description

string

Описание.

version

integer($int64)

Версия.

tagsCollection

[string]

Список тегов.

Система предоставляет возможность создания нескольких серверов в схеме. При создании схемы из нескольких серверов необходимо учитывать, что параметры address, port, controlCenterPort должны быть уникальными. Если в схеме планируется использования нескольких серверов, необходимо заранее описать правила запуска сервисов, репликации и выбрать сервер-координатор. Правила запуска сервисов устанавливаются в блоке параметров allocationsGlobal: необходимо указать сервисы и системы, которые будут запущены на сервере. Для сохранения работоспособности схемы в целом предусмотрен механизм репликации. Если сервер недоступен или сломан, все указанные сервисы и системы будут запущены на резервном сервере. Для этого необходимо указать адрес сервера или несколько адресов в параметре replicateTo.

Конфигурация сервера сохраняется в локальном файле C:\ProgramData\Datareon\Platform\LocalNodeConfig.json

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

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

Пример:

"allocationsGlobal": {
        "$type": "DT.ClusterConfiguration.Allocation.AllocationConfig, DT_Core",
        "systems": [
                {
                        "$type": "DT.ClusterConfiguration.Allocation.AllocationInfo, DT_Core",
                        "entityId": "281152fc-325c-4fef-ad4e-8f2da8a45013", //гуид привязываемой системы
                        "reason": "FromConfig",
                        "initialReason": "FromConfig"
                }
        ],
        "modules": [
                {
                        "$type": "DT.ClusterConfiguration.Allocation.AllocationInfo, DT_Core",
                        "entityId": "083006d6-0059-4cd1-8aa5-6424624f6226", //гуид привязываемого модуля
                        "reason": "FromConfig",
                        "initialReason": "FromConfig"
                }
        ],
        "disableAutoAssignment": false
},

Пример заполнения nodeResolveList:

"nodeResolveList": [
        {
                "$type": "DT.ClusterConfiguration.NodeResolveEntity, DT_Core",
                "description": "главный сервер - произвольное описание для интерфейса",
                "nodeIp": "172.16.10.58",
                "externalServer": {
                "$type": "DT.ClusterConfiguration.ResolveEntity, DT_Core",
                "description": "главный сервер - произвольное описание для интерфейса",
                "ip": "192.168.101.27",
                "synonyms": [
                "SRV-AX-RAZV03"
                ]
        }

        }
]

Описание полей из файла LocalNodeConfig.json:

Параметр

Тип данных

Описание

NodeId

Guid

Идентификатор узла кластера.

NodeName

string

Имя узла NodeManager.

ServiceKey

Guid

Идентификатор хоста. Создается при установке. Нельзя изменять.

CertificateSettings

Настройки сертификата.

ProgramDataFolder

string

Папка с данными программы.

ControlServerSettings

Настройки сервера управления.

MasterControlServerAddress

Uri

Адрес машины мастер-сервера ЦН, если он расположен на другой машине, иначе null.

RunControlServer

bool

Запускать ли на узле сервер управления.

HasControlCenter

bool

Установлен ли на узле Центр настройки.

NodeListeningPort

int

Порт для публикации TCP-сервера

IsActive

bool

Запущен ли узел.

Управление сервером с неизвестного Центра настройки

Если сервер получает запрос от Центра настройки, который находится по не доверенному адресу, запрос будет отклонен и в ответ будет отправлено сообщение с ошибкой. В Центре настройки будет отображена ошибка со следующей информацией: В списке зарегистрированных Центров настроек на сервере отсутствует адрес сервера Центра настройки. Чтобы добавить адрес Центра настройки в список доверенных, на устройстве сервера-координатора в командной строке выполните следующую команду:

  • Для Windows:

    DatareonPlatformService.exe SetCS <ip adress>
    
  • Для Linux:

    sudo /usr/bin/datareon/platform/DatareonPlatformService setCS <ip adress>
    

После выполнения команды требуется применить конфигурацию Центра настройки повторно.