Основная настройка
|
По умолчанию
|
Описание
|
---|---|---|
EnableClusteredMode
|
false
|
Определяет, будет ли ThingWorx выполняться как кластер (настройка true) или как автономный сервер (настройка false).
|
Настройка политики импорта пакета расширений
|
По умолчанию
|
Описание
|
---|---|---|
haCompatibilityImportLevel
|
WARN
|
При выполнении ThingWorx в кластерном режиме можно ограничить импорт расширений только теми, для которых для флага haCompatibility в метаданных расширения задано значение true. По умолчанию задана настройка WARN, которая разрешает импорт, но генерирует предупреждение. Можно изменить ее значение на DENY; в этом случае импорт завершается сбоем и генерируется ошибка.
|
Настройка кластерного режима
|
По умолчанию
|
Описание
|
||
---|---|---|---|---|
PlatformId
|
none
|
Уникальный идентификатор для каждого узла в кластере. Этот идентификатор будет отображаться в объединенных журналах. Должен быть буквенно-цифровым и не превышать 32 символа. Он должен соответствовать шаблону "^[a-zA-Z0-9]{1,32}$".
|
||
CoordinatorHosts
|
none
|
Разделенный запятыми список серверов Apache ZooKeeper, используемых для координации выбора ведущего объекта ThingWorx. Шаблон строки: "IP:port". (например, "127.0.0.1:2181, 127.0.0.2:2181").
|
||
ZKNamespace
|
ThingWorx
|
Корневой путь узла, используемый для отслеживания информации в ZooKeeper для кластера. Это требуется при выполнении нескольких кластеров с использованием одного и того же ZooKeeper. Применяются ограничения именования ZooKeeper; см. документ http://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#ch_zkDataModel (на английском языке).
|
||
ModelSyncPollInterval
|
100
|
Частота синхронизации модели между серверами в кластере в миллисекундах. Каждый сервер будет проверять с этой частотой наличие изменений модели и применять все обнаруженные изменения.
|
||
ModelSyncWaitPeriod
|
3000
|
При обмене данными через WebSocket трафик направляется на серверы с циклическим обходом. Если изменение модели выполняется через WebSocket, следующий запрос будет ожидать, пока не пройдет указанное время в миллисекундах для синхронизации модели на любом сервере, на который он попадает. Если синхронизация не выполняется до истечения тайм-аута, запрос завершается сбоем с ошибкой тайм-аута.
|
||
ModelSyncTimeout
|
120000
|
Время ожидания (в миллисекундах) каждой повторной попытки.
|
||
ModelSyncMaxDBUnavailableErrors
|
10
|
Число разрешенных последовательных сбоев синхронизации из-за потери соединения с базой данных до завершения работы сервера. Интервал времени в миллисекундах приблизительно равен произведению ModelSyncPollInterval на это значение.
|
||
ModelSyncMaxCacheUnavailableErrors
|
10
|
Число разрешенных последовательных сбоев синхронизации из-за потери соединения с кэшем до завершения работы сервера. Интервал времени в миллисекундах приблизительно равен произведению ModelSyncPollInterval на это значение.
|
||
CoordinatorMaxRetries
|
3
|
В случае сбоя связи с координатором он будет повторен n раз перед сбоем.
|
||
CoordinatorSessionTimeout
|
90000
|
Время (в миллисекундах), в течение которого ThingWorx ожидает получения контрольного сигнала от сервиса Apache ZooKeeper, используемого для координации приоритета ThingWorx.
|
||
CoordinatorConnectionTimeout
|
10000
|
Промежуток времени (в миллисекундах), в течение которого система будет ожидать соединения с координатором.
|
||
MetricsCacheFrequency
|
60000
|
Метрики отслеживаются по серверам и суммируются для метрик уровня кластера. Это значение представляет частоту (в миллисекундах), с которой обновляются метрики кластера.
|
||
IgnoreInactiveInterfaces
|
true
|
Необязательная настройка. Если включен режим кластера, предпринимается попытка зарегистрировать сервер ThingWorx как сервис с помощью поставщика обнаружения сервисов. Для этого проводится поиск всех доступных адаптеров и их адресов и предпринимается попытка найти локальный адрес для сайта. Если не найден ни один из них, используется первый найденный адрес, который не является локальным для сайта. Эта настройка влияет на следующую логику. Если эта настройка имеет значение true, неактивные интерфейсы игнорируются.
|
||
IgnoreVirtualInterfaces
|
true
|
Необязательная настройка. Если эта настройка имеет значение true, виртуальные интерфейсы игнорируются. Дополнительные сведения см. в описании настройки IgnoreInactiveInterfaces выше.
|
||
HostAddressFilter
|
none
|
Необязательная настройка. Если значение задано, выполняется фильтрация адресов на основе регулярного выражения; иначе фильтр не применяется. Например, укажите “10\\\\..” для отбора адресов, которые начинаются с 10, или “^.:.*$” для отбора адресов, которые содержат :. Дополнительные сведения см. в описании настройки IgnoreInactiveInterfaces выше.
|
Настройка
|
По умолчанию
|
Описание
|
||
---|---|---|---|---|
basePath
|
/services
|
Ignite создаст папку Ignite в basePath, в которой сохраняются записи узла Ignite для обнаружения сервисов. При использовании одного сервера ZooKeeper для нескольких экземпляров кластера измените значение по умолчанию на /clusterXX/services в конфигурации клиента Ignite и на стороне сервера Ignite. Дополнительные сведения см. в документе Конфигурирование центрального кластера ZooKeeper.
|
||
client-mode
|
true
|
Определяет, будет ли встроенный Ignite выполняться как клиент (по умолчанию) или как сервер. В режиме сервера он участвует в хранении данных и будет использовать больше памяти.
|
||
connection
|
none
|
Для типа address-resolver type опции zookeeper - это разделенный запятыми список серверов Apache Zookeeper, используемых для координирования выбора ведущего сервера ThingWorx. Строковый шаблон - IP:порт (например, 127.0.0.1:2181, 127.0.0.2:2181).
|
||
default-cache-mode
|
none
|
Можно задать значение REPLICATED или PARTITIONED. Если задано значение PARTITIONED, данные распределяются по кластеру и реплицируются на другие серверы в соответствии с настройкой backups. Если задано значение REPLICATED, все данные из всех кэшей сохраняются на всех серверах в кластере Ignite.
Настройки зависят от требований высокой доступности системы и количества выполняемых серверов Ignite.
|
||
default-atomicity-mode
|
ATOMIC
|
Режим атомарности кэша определяет, поддерживает ли кэш полную семантику транзакции или более облегченное атомарное поведение. Режим ATOMIC необходимо использовать, если не требуются транзакции и явная блокировка. В режиме ATOMIC кэш будет поддерживать полную согласованность данных во всех узлах кэша.
|
||
default-backups
|
none
|
Эта настройка применяется только в том случае, если для cache-mode задано значение PARTITIONED. Она определяет число серверов, которые будут сохранять копии данных. Для среды HA необходимо задать значение 1 или выше.
|
||
default-read-from-backup
|
false
|
При работе во встроенном режиме (client-mode имеет значение false) задайте для default-read-from-backup значение true, чтобы в кэш читались локальные данные и повышалась производительность.При выполнении в распределенном режиме эта настройка не дает преимущества, поскольку всегда требуется переходить в сети к другому узлу. В этом случае необходимо задать для нее значение false.
|
||
default-write-sync-mode
|
PRIMARY_SYNC
|
Можно изменить эту настройку следующим образом:
• FULL_ASYNC
Ignite не будет ждать ответы записи или фиксации из участвующих узлов; поэтому удаленные узлы могут получать обновление своего состояния после завершения методов записи кэша или после завершения метода Transaction.commit().
• FULL_SYNC
Ignite должен ждать ответа о записи или фиксации из всех узлов.
• PRIMARY_SYNC
Эта настройка предназначена только для режимов CacheMode.PARTITIONED и CacheMode.REPLICATED.
• FULL_ASYNC
Не рекомендуется. Предотвращает возможность потери данных при сбое системы, но снижает производительность записи.
|
||
provider-type
|
none
|
Необходимо задать значение "com.thingworx.cache.ignite.IgniteCacheProvider", которое включает распределенный кэш.
|