Высокая доступность
Можно настроить мессенджер как среду высокой доступности, перейдя в Окружение → Высокая доступность, или отредактировав файл config.json
.
Изменения параметров конфигурации в этом разделе требуют перезапуска сервера, прежде чем вступят в силу.
В развертывании кластера высокой доступности системная консоль настроена только на чтение и настройки можно изменить только путем прямого редактирования файла 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