Skip to main content

Геораспределеная конфигурация

Начиная с релиза 1.10 система ВКС поддерживает геораспределенную конфигурацию, позволяющую направлять участников на ближайшие к ним сервера JVB (Jitsi Video Bridge), снижая задержки и повышая стабильность соединения.

Порядок настройки геораспределенной конфигурации:

  1. Размещение серверов JVB в разных регионах.

Для работы геораспределённой конфигурации необходимо запустить сервера JVB в разных дата-центрах или регионах. В инвентарном файле Ansible настройка выполняется с помощью группы squadus_meet_jvb. Например:

all:
children:
squadus:
children:
squadus_meet:
squadus_meet_jvb:
hosts:
squadus-jvb-spb-[1:2].example.com:
squadus-jvb-msk-[1:2].example.com:
  1. Настройка переменных.

Для определения региона пользователя и выбора подходящего моста используются следующие переменные:

  • jitsiweb_geo_distributed_user_regions — список правил сопоставления IP-подсетей (в формате CIDR) регионам JVB;
  • jitsiweb_jicofo_region — регион JVB по умолчанию, к которому относится пользователь, если IP этого пользователя не попадает ни в одну из подсетей, указанных в переменной jitsiweb_geo_distributed_user_regions
  • jvb_region — регион, к которому относится конкретный сервер JVB. Эта переменная задаётся как хостовая.
  1. Объединение регионов

Если нужно рассматривать несколько регионов как логически близкие (например, чтобы использовать JVB в соседнем регионе при отсутствии локальных), можно указать группы регионов с помощью переменной jicofo_region_groups:

jicofo_region_groups:
- ["MSK", "SPB", "KZN"]
- ["EKB", "NSK"]

Это позволит, например, использовать JVB в MSK для участников из SPB, если в SPB нет доступных JVB, и наоборот.

Пример настройки (в Ansible-группе squadus_setup):

jitsiweb_geo_distributed_user_regions:
- cidr: "10.1.0.0/16"
region: "MSK"
- cidr: "10.3.0.0/16"
region: "MSK"
- cidr: "10.100.0.0/16"
region: "SPB"
jitsiweb_jicofo_region: "SPB"
jvb_region: "SPB"

Где:

  • пользователи с IP-адресом, входящим в подсети 10.1.0.0/16 и 10.3.0.0/16, будет подключаться к JVB, расположенным в регионе MSK.
  • пользователи с IP-адресом, входящим в подсеть 10.100.0.0/16, будут подключаться к JVB, расположенном в регионе SPB
  • все прочие пользователи будут подключаться к JVB, расположенном в регионе SPB
  • все JVB по умолчанию будут относиться к региону SPB

Если часть серверов JVB должна относиться к другому региону, необходимо указать переменную jvb_region на уровне хоста (в инвентарном файле Ansible, либо с помощью механизма host_vars):

squadus-jvb-msk-1.example.com:
jvb_region: "MSK"
squadus-jvb-msk-2.example.com:
jvb_region: "MSK"