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

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

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

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

![Схема стандартного сетевого размещения Webim Server 10.8](https://webim.ru/kb/img/devops/components-schemes/webim_components_location_schema_10_8.svg)

!!! Note "N.B."
    В версии **Webim** [10.7](https://webim.ru/webim-10-7/) удалена встроенная в Webim Chat Backend проверка орфографии, теперь вместо неё используется Speller, размещенный в отдельном микросервисе.

!!! Note "Apache Kafka на стандартной схеме"
    В стандартной установке с одним экземпляром **Admin Backend** и без **Active Directory** брокер **Apache Kafka** не требуется — на схеме он отмечен как опциональный. **Kafka** становится обязательной в трёх сценариях: кластер **Admin Backend** из нескольких узлов (синхронизация операторов), интеграция с **Active Directory** и работа сервиса **data-storager** (выгрузка истории в **OpenSearch** или **Elasticsearch**). Подробнее — в статье [Требования к программному обеспечению сервера](https://webim.ru/kb/devops/sys-reqs-for-server/sys-reqs-server-sw.html).

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

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

![Схема сетевого размещения Webim Server 10.8 с резервированием active/standby](https://webim.ru/kb/img/devops/components-schemes/webim_active_standby_schema_10_8.svg)

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

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

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

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

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

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

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

![Схема сетевого размещения Webim Server 10.8 с резервированием master/slave, масштабирование 2.0](https://webim.ru/kb/img/devops/components-schemes/webim_master_slave_schema_10_8.svg)

!!! Note "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)](https://webim.ru/kb/img/devops/components-schemes/webim_single_hosted_active_active_schema_10_8.svg)

  * Компоненты **Webim Server** размещены на разных сетевых узлах

![Схема: компоненты Webim Server 10.8 на разных сетевых узлах (active-active)](https://webim.ru/kb/img/devops/components-schemes/webim_multi_hosted_active_active_schema_10_8.svg)

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

---

Источник: https://webim.ru/kb/devops/components-schemes/components-location-schemes.html
