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

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

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

Балансировка по принципу "active/stand by"

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

Важно: на неактивном сервере должны быть остановлены Tornado и PHP-скрипты ежедневного расчёта статистики. При переключении на другой сервер нужно:

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

Балансировка по принципу "active/active"

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