Перейти к содержанию

Схемы размещения серверных компонентов

Ниже представлены схемы сетевого размещения и связи компонентов Webim Server в различных вариантах инсталляции.

Стандартное размещение

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

Схема стандартного сетевого размещения Webim Server 10.8
Схема стандартного сетевого размещения Webim Server 10.8

N.B.

В версии Webim 10.7 удалена встроенная в Webim Chat Backend проверка орфографии, теперь вместо неё используется Speller, размещенный в отдельном микросервисе.

Apache Kafka на стандартной схеме

В стандартной установке с одним экземпляром Admin Backend и без Active Directory брокер Apache Kafka не требуется — на схеме он отмечен как опциональный. Kafka становится обязательной в трёх сценариях: кластер Admin Backend из нескольких узлов (синхронизация операторов), интеграция с Active Directory и работа сервиса data-storager (выгрузка истории в OpenSearch или Elasticsearch). Подробнее — в статье Требования к программному обеспечению сервера.

Размещение с резервированием по принципу "active/stand by"

Ниже представлена схема сетевого размещения серверных компонентов Webim в случае разворачивания системы с резервированием по принципу "active/stand by" (Failover), в которой используются избыточные программно-аппаратные компоненты, а переключение производится в случае аварии или при обновлении. Сервер приложений и сервера СУБД дублируются; одновременно нагрузка идёт лишь на один сервер приложений и на один сервер СУБД для каждой пары, однако при необходимости (при обновлении либо отказе одного из них) функционал можно быстро переключить на соседний сервер, и простой (downtime) сервиса будет минимален.

Схема сетевого размещения Webim Server 10.8 с резервированием active/standby
Схема сетевого размещения Webim Server 10.8 с резервированием active/standby

Важно

На неактивном сервере должен быть остановлен Chat Backend, а Admin Backend не должен принимать рабочий трафик. При переключении на другой сервер нужно:

  1. Остановить Chat Backend и Admin Backend на старом сервере.

  2. Перенастроить репликацию master/slave СУБД и репликацию файлов через rsync, чтобы они действовали в обратном направлении.

  3. Запустить Chat Backend и Admin Backend на новом сервере.

  4. Переключить маршрутизатор (VIP / балансировщик) на новый активный контур.

Размещение с резервированием по принципу "master/slave"

Ниже представлены схемы размещения серверных компонентов Webim в случае разворачивания системы с резервированием по принципу "master/slave" (кластеризация), заключающемуся в настройке кластера серверов с наличием избыточных программно-аппаратных компонентов (здесь — по 2 каждого типа). Как и при резервировании по принципу "active/stand by", в "master/slave" компоненты каждого сервера дублируются, однако в данном случае они работают одновременно, и нагрузка распределяется между ними (между большинством компонентов симметрично, в случае Webim Chat Backend — особым образом).

Схема сетевого размещения Webim Server 10.8 с резервированием master/slave, масштабирование 2.0
Схема сетевого размещения Webim Server 10.8 с резервированием master/slave, масштабирование 2.0

N.B.

В масштабировании 2.0 кластер Chat Backend состоит из одного master и нескольких slaves. Кластер Admin Backend симметричен: для синхронизации его узлов нужны Redis и Apache Kafka, поэтому в этой конфигурации Kafka обязательна. Хранилища (СУБД, Redis, файлы, ClickHouse и опционально OpenSearch) — общие для узлов.

Варианты сетевого размещения компонентов Webim Server с резервированием по принципу "master/slave":

  • Компоненты Webim Server размещены на одном сетевом узле
Схема: компоненты Webim Server 10.8 на одном сетевом узле (active-active)
Схема: компоненты Webim Server 10.8 на одном сетевом узле (active-active)
  • Компоненты Webim Server размещены на разных сетевых узлах
Схема: компоненты Webim Server 10.8 на разных сетевых узлах (active-active)
Схема: компоненты Webim Server 10.8 на разных сетевых узлах (active-active)

N.B.

Служба каталогов Active Directory не входит в базовое программное обеспечение Webim Server и подключается опционально за отдельную плату. На схеме отмечено пунктирными линиями.