Перейти к основному содержимому

Высокая доступность

Можно настроить мессенджер как среду высокой доступности, перейдя в ОкружениеВысокая доступность, или отредактировав файл config.json.

warning

Изменения параметров конфигурации в этом разделе требуют перезапуска сервера, прежде чем вступят в силу.

В развертывании кластера высокой доступности системная консоль настроена только на чтение и настройки можно изменить только путем прямого редактирования файла config.json. Однако для тестирования среды высокой доступности можно отключить параметр ClusterSettings.ReadOnlyConfig в файле config.json, установив его в false. Это позволит сохранить изменения, внесенные с помощью системной консоли, в файле конфигурации.

Включить режим высокой доступности

примечание

Доступно только в On-Premise инсталляции Time.

Включить режим высокой доступности.

  • Путь к системной конфигурации: ОкружениеВысокая доступность
  • Переменная среды: TIME_CLUSTERSETTINGS_ENABLE
  • Значения:
    • да: Сервер мессенджера будет пытаться установить межузловую связь с другими серверами в кластере, имеющими такое же имя кластера. Это переведет системную консоль в режим только для чтения, чтобы синхронизировать файлы config.json серверов.
    • нет: (По умолчанию) Режим высокой доступности отключен.

Протокол кластерного взаимодействия

примечание

Доступно только в On-Premise инсталляции Time.

Выбрать протокол кластерного взаимодействия.

  • Путь к системной конфигурации: ОкружениеВысокая доступность
  • Переменная среды: TIME_CLUSTERSETTINGS_PROTOCOL
  • Значения:
    • "gossip": (Beta) Сервер будет использовать для межузловой связи протокол Gossip.
    • "": (По умолчанию) Сервер будет использовать Redis + Kafka для межузловой связи.

Название кластера

примечание

Доступно только в On-Premise инсталляции Time.

Кластер, к которому нужно присоединиться по имени в среде высокой доступности.

Кластер для объединения по имени. Только узлы с одинаковым именем кластера объединяются. Это сделано для поддержки сине-зеленых развертываний или промежуточного доступа к одной и той же базе данных.

  • Путь к системной конфигурации: ОкружениеВысокая доступность
  • Переменная среды: TIME_CLUSTERSETTINGS_CLUSTERNAME

Переопределить название хоста

примечание

Доступно только в On-Premise инсталляции Time.

  • Путь к системной конфигурации: ОкружениеВысокая доступность
  • Переменная окружения: TIME_CLUSTERSETTINGS_OVERRIDEHOSTNAME
примечание
  • При необходимости это свойство можно установить на конкретный IP-адрес; однако не рекомендуется переопределять имя хоста, если в этом нет необходимости.
  • Если оставить пустым, мессенджер попытается получить имя хоста из операционной системы или использовать IP-адрес.

Использовать IP-адрес

примечание

Доступно только в On-Premise инсталляции Time.

Настроить среду высокой доступности на взаимодействие с использованием имени IP-адреса вместо хоста.

  • Путь к системной конфигурации: ОкружениеВысокая доступность
  • Переменная среды: TIME_CLUSTERSETTINGS_USEIPADDRESS
  • Значения:
    • да: (По умолчанию) Кластер пытается установить связь, используя указанный IP-адрес.
    • нет: Кластер пытается установить связь, используя имя хоста.

Включить экспериментальное шифрование gossip

примечание

Доступно только в On-Premise инсталляции Time.

По умолчанию шифрование Gossip использует AES-256.

  • Путь к системной конфигурации: ОкружениеВысокая доступность
  • Переменная окружения: TIME_CLUSTERSETTINGS_ENABLEEXPERIMENTALGOSSIPENCRYPTION
  • Значения:
    • да: Все коммуникации через кластер с использованием протокола gossip будут зашифрованы.
    • нет: (По умолчанию) Все коммуникации с использованием протокола gossip остаются неизменными. протокол остается незашифрованным.

В качестве альтернативы можно вручную установить значение строки ClusterEncryptionKey в таблице Systems. Ключ – это массив байтов, преобразованный в base64. Установить это значение в 16, 24 или 32 байта для выбора AES-128, AES-192 или AES-256 соответственно.

Включить сжатие gossip

примечание

Доступно только в On-Premise инсталляции Time.

  • Путь к системной конфигурации: ОкружениеВысокая доступность
  • Переменная среды: TIME_CLUSTERSETTINGS_ENABLEGOSSIPCOMPRESSION
  • Значения:
    • да: Все данные, передаваемые по протоколу Gossip, будут сжаты. Рекомендуется держать этот флаг отключенным..
    • нет: (По умолчанию) Все коммуникации с использованием протокола gossip остаются несжатыми.

Порт gossip

примечание

Доступно только в On-Premise инсталляции Time.

Порт, используемый для протокола gossip. На этом порту должны быть разрешены как UDP, так и TCP.

Формат ввода: numeric. По умолчанию 8074.

  • Путь к системной конфигурации: ОкружениеВысокая доступность
  • Переменная среды: TIME_CLUSTERSETTINGS_GOSSIPPORT

Конфигурация только для чтения

Разрешает или блокирует изменение конфигурационного файла config.json при работе в кластере. Если конфигурация хранится в БД, то это свойство ни на что не влияет.

примечание

Доступно только в On-Premise инсталляции Time.

  • Путь к системной конфигурации: N/A
  • Переменная среды: TIME_CLUSTERSETTINGS_READONLYCONFIG
  • Значения:
    • true: (По умолчанию) Изменения, внесенные в настройки в системной консоли, игнорируются.
    • false: Изменения, внесенные в настройки в системной консоли, записываются в config.json.

Сетевой интерфейс

примечание

Доступно только в On-Premise инсталляции Time.

IP-адрес, используемый для идентификации устройства, которое выполняет автоматическое определение IP-адреса в кластерах высокой доступности.

Формат ввода: string.

  • Путь к системной конфигурации: N/A
  • Переменная среды: TIME_CLUSTERSETTINGS_NETWORKINTERFACE

Привязка адреса

примечание

Доступно только в On-Premise инсталляции Time.

IP-адрес, используемый для привязки трафика кластера к определенному сетевому устройству.

Эта настройка используется в основном для серверов с несколькими сетевыми устройствами или разными Bind Address и Advertise Address, как в развертываниях, включающих NAT (Network Address Translation).

Формат ввода: string.

  • Путь к системной конфигурации: N/A
  • Переменная среды: TIME_CLUSTERSETTINGS_BINDADDRESS

Транслировать адрес

примечание

Доступно только в On-Premise инсталляции Time.

IP-адрес, используемый для доступа к серверу с других узлов. Эта настройка используется в первую очередь, когда узлы кластера не находятся в одной сети и задействуют NAT (Network Address Translation).

Формат ввода: string.

  • Путь к системной конфигурации: N/A
  • Переменная среды: TIME_CLUSTERSETTINGS_ADVERTISEADDRESS

Максимальное количество незадействованных соединений для высокой доступности

примечание

Доступно только в On-Premise инсталляции Time.

Максимальное количество незанятых соединений, открытых от одного сервера ко всем остальным в кластере.

Формат ввода: numeric. По умолчанию - 100.

  • Путь к системной конфигурации: N/A
  • Переменная среды: TIME_CLUSTERSETTINGS_MAXIDLECONNS

Логирование медленных обработчиков кластерных сообщений

примечание

Доступно только в On-Premise инсталляции Time.

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

Формат ввода: numeric. По умолчанию: 0, что означает отключение механизма.

К примеру, если задать 3000, то любой обработчик, который работает дольше 3 секунд, будет залогирован.

  • Путь к системной конфигурации: N/A
  • Переменная среды: TIME_CLUSTERSETTINGS_MESSAGESLOWHANDLEWARNAFTERMILLISECONDS

Максимальное количество незадействованных соединений на хост

примечание

Доступно только в On-Premise инсталляции Time.

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

Формат ввода: numeric. По умолчанию 128.

  • Путь к системной конфигурации: N/A
  • Переменная окружения: TIME_CLUSTERSETTINGS_MAXIDLECONNSPERHOST

Тайм-аут незадействованных соединений

примечание

Доступно только в On-Premise инсталляции Time.

Количество времени в миллисекундах, в течение которого неработающее соединение между серверами в кластере должно оставаться открытым.

Формат ввода: numeric. По умолчанию 90000.

  • Путь к системной конфигурации: N/A
  • Переменная среды: TIME_CLUSTERSETTINGS_IDLECONNTIMEOUTMILLISECONDS

Количество потоков для обработки кластерных сообщений

примечание

Доступно только в On-Premise инсталляции Time.

Определяет количество потоков для обработки кластерных сообщений. Если установлено значение 0, то количество потоков не ограничено.

Актуально только для серверов, использующих Redis + Kafka для межузловой связи.

Формат ввода: numeric. По умолчанию 0.

  • Путь к системной конфигурации: N/A
  • Переменная среды: TIME_CLUSTERSETTINGS_THREADS