Геораспределеная конфигурация
Начиная с релиза 1.10 система ВКС поддерживает геораспределенную конфигурацию, позволяющую направлять участников на ближайшие к ним сервера JVB (Jitsi Video Bridge), снижая задержки и повышая стабильность соединения.
Порядок настройки геораспределенной конфигурации:
- Размещение серверов 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:
- Настройка переменных.
Для определения региона пользователя и выбора подходящего моста используются следующие переменные:
jitsiweb_geo_distributed_user_regions— список правил сопоставления IP-подсетей (в формате CIDR) регионам JVB;jitsiweb_jicofo_region— регион JVB по умолчанию, к которому относится пользователь, если IP этого пользователя не попадает ни в одну из подсетей, указанных в переменнойjitsiweb_geo_distributed_user_regionsjvb_region— регион, к которому относится конкретный сервер JVB. Эта переменная задаётся как хостовая.
- Объединение регионов
Если нужно рассматривать несколько регионов как логически близкие (например, чтобы использовать 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"