Серверы
Сервер Платформы (или узел) является базовой сущностью, обеспечивающей работу системы. Для каждого физического или виртуального сервера для включения в кластер необходимо зарегистрировать Сервер Платформы. На одном физическом или виртуальном сервере может быть зарегистрирован только один сервер. Этот сервер управляет всеми очередями сообщений и обеспечивает доставку сообщений до сервисов и коннекторов к внешним системам. Также на сервере выполняется контроль по взаимодействию с сервисами и коннекторами, выполняется сбор статистических данных.
Создание сервера
Чтобы добавить новый сервер в кластер, перейдите в раздел Серверы и нажмите на кнопку + в рабочей области:
 
Отобразится меню добавления нового сервера:
 
На вкладке Основные заполните следующие поля:
- Название: произвольное название сервера. 
- Имя: уникальное имя сервера. 
- Адрес: адрес сервера. 
- Порт: номер порта, на котором доступен сервер. 
- Комментарий: дополнительное описание сервера. 
Для активации сервера установите флажок Включен.
Для перехода в режим редактирования конфигурации сервера нажмите на соответствующую кнопку:
 
После внесения данных нажмите на кнопку Сохранить изменения, после этого нажмите на кнопку Применить конфигурацию.
| Параметр | Тип данных | Описание | 
|---|---|---|
| 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.
disableAutoAssignment: - параметр, при включении которого на сервере запускаются только системы и сервисы, указанные в блоке параметров allocationsGlobal. В случае падения сервера с установленным значением «disableAutoAssignment»: true системы и сервисы, привязанные к нему в allocationsGlobal, могут быть перемещены на другие машины кластера, у которых данный параметр отключен.
Примечание
Параметр disableAutoAssignment используется для размещения на узле систем и сервисов, привязанных вручную (значение true). При выключенном параметре (значение false) системы и сервисы могут быть размещены на узле в автоматическом режиме.
Конфигурация сервера сохраняется в локальном файле C:\ProgramData\Datareon\Platform\LocalNodeConfig.json
Конфигурация обновляется при изменениях в настройках сервера управления, репликации и изменениях, производимых посредством установщика.
Чтобы привязать конкретный сервис или систему к узлу кластера, в конфигурации узла добавьте значение allocationsGlobal.
Пример заполнения allocationsGlobal
"allocationsGlobal": {
        "$type": "DT.ClusterConfiguration.Allocation.AllocationConfig, DT_Core",
        "systems": [
                {
                        "$type": "DT.ClusterConfiguration.Allocation.AllocationInfo, DT_Core",
                        "entityId": "281152fc-325c-4fef-ad4e-8f2da8a45013", //EntityId привязываемой системы
                        "reason": "FromConfig",
                        "initialReason": "FromConfig"
                }
        ],
        "modules": [
                {
                        "$type": "DT.ClusterConfiguration.Allocation.AllocationInfo, DT_Core",
                        "entityId": "083006d6-0059-4cd1-8aa5-6424624f6226", //EntityId привязываемого сервиса
                        "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> 
После выполнения команды требуется повторно применить конфигурацию ЦН.