DevOps Guide - Scalable setup - 可扩展性配置
对于Jitsi的单服务器安装,适用于有限数量的并发会议。首个限制因素是videobridge组件,它负责处理实际的视频和音频流量。你可以通过水平扩展视频桥(videobridges)来应对更大的流量需求。在云环境中,还可以根据需求动态地增加或减少视频桥的数量。
Youtube上关于扩展的教程已经过时,描述的是 旧的配置方法。当前默认的Jitsi Meet安装已经配置为支持水平扩展。
构建可扩展的基础架构并不适合初学的Jitsi管理员。此说明假设你已成功安装了单节点版本,并且对Linux软件的安装、配置和调试感到熟悉。这并不是逐步的指导,而是展示需要安装哪些软件包以及需要更改哪些配置。强烈建议使用配置管理工具(如Ansible或Puppet)来管理安装和配置过程。
架构(单个Jitsi-Meet,多个videobridges)
首个步骤是将中心Jitsi-Meet实例的功能(包括nginx、prosody和jicofo)与videobridges分离。
以下是一个简化的安装示意图,其中包含一个Jitsi-Meet实例和三个负载均衡的视频桥。每个方框代表一台服务器或虚拟机(VM)。
+ +
| |
| |
v v
80, 443 TCP 443 TCP, 10000 UDP
+--------------+ +---------------------+
| nginx | 5222 TCP | |
| Jitsi Meet |<-------------------+| jitsi-videobridge |
| prosody | | | |
| jicofo | | +---------------------+
+--------------+ |
| +---------------------+
| | |
+----------+| jitsi-videobridge |
| | |
| +---------------------+
|
| +---------------------+
| | |
+----------+| jitsi-videobridge |
| |
+---------------------+
服务器规格
Jitsi-Meet服务器的负载通常不会太大(除非你同时有许多会议)。通常,4个CPU和8GB内存的机器已经足够。
相对而言,videobridge的负载更大,4或8个CPU以及8GB内存是一个不错的配置。
Jitsi-Meet的安装
假设安装将运行在以下FQDN:meet.example.com
,并且你已将SSL证书和密钥存放在/etc/ssl/meet.example.com.{crt,key}
。
在安装这些软件包之前,设置如下DebConf变量。(我们并不安装jitsi-meet
包,它会为我们处理这些设置)
首先安装debconf-utils
包:
$ cat << EOF | sudo debconf-set-selections
jitsi-videobridge jitsi-videobridge/jvb-hostname string meet.example.com
jitsi-meet jitsi-meet/jvb-serve boolean false
jitsi-meet-prosody jitsi-videobridge/jvb-hostname string meet.example.com
jitsi-meet-web-config jitsi-meet/cert-choice select I want to use my own certificate
jitsi-meet-web-config jitsi-meet/cert-path-crt string /etc/ssl/meet.example.com.crt
jitsi-meet-web-config jitsi-meet/cert-path-key string /etc/ssl/meet.example.com.key
jitsi-meet-web-config jitsi-meet/jaas-choice boolean false
EOF
如果你需要启用与Jitsi Meet组件的集成以支持电话功能,将上述jitsi-meet/jaas-choice
选项设为true
。
在jitsi-meet服务器上,安装以下软件包:
nginx
prosody
jicofo
jitsi-meet-web
jitsi-meet-prosody
jitsi-meet-web-config