冗余和负载平衡
CAMServer
有了终极计划,在内部部署环境中非常简单Web 和视频服务器可以实现冗余和负载平衡。这样,即使一台服务器发生故障,服务仍可继续,并且即使由大量用户使用,也可以分布处理并提供服务,而不会降低性能。
此外,分布式配置 CAMServer
但实时通信是可能的。例如CAMServer1
客户已连接到CAMServer2
与另一个连接到网络的客户端进行聊天和网络会议
- 网络会议负载平衡基于活动会议的数量和参与用户的数量。
・同时进行的网络会议数量仅为CAMServer
这不能通过简单地添加更多节点来实现。还需要考虑网络配置,以便所有会议不会通过同一个 VPN 或中央路由器进行中继。
冗余和负载平衡配置
您可以根据您公司的要求级别和成本配置最佳环境。
小型启动配置

- 贮存:将 DB/File 放置在 CAMServer1 端,并从 CAMServer2 引用它。即使在这种情况下,所有用户都可以实时共享数据。
- 备份:每天需要将DB/File数据备份到CAMServer2上。
- 负荷分配:可以通过按部门划分访问的CAMServer(或将其设为备用系统)来实现负载平衡。Web会议始终可以实现负载平衡。
- 可用性:1号机发生故障时的DB连接设置
cam.serverDatePath.
如果发生磁盘故障,备份已完成保证提供截至前一天的数据。 - 成本: 最便宜的配置。您可以从单个设备配置开始,然后根据负载进行扩展。
外部存储 (NAS) 配置

- 存储:将数据库/文件放置在具有 RAID 配置的高耐用性外部存储 NAS 上,并同时引用 CAMServer1 和 CAMServer2。或者指定虚拟化平台主机操作系统提供的虚拟 NAS。
- 备份:即使使用 RAID 配置,也需要每天备份 DB/文件数据,以应对电源/外壳故障和人为故障。
- 负荷分配:与小启动配置相同。
- 可用性:当发生故障时,网络应用程序版本 如果你使用
cam.clusterHosts.
它可以检测并自动进行故障转移。 - 成本:相对便宜的配置。
冗余外部存储配置

- 存储:使用冗余文件共享服务器(Windows Server 故障转移群集 + SAN、AWS S3 + rclone 等)的配置,强调针对磁盘故障的高可用性。
- 备份:数据会自动复制,因此根据策略不需要备份。但是,如果您考虑人为故障(例如手动擦除磁盘),您仍然需要备份。
- 负荷分配:与小启动配置相同。
- 可用性:web服务器与小启动配置相同。即使由于磁盘或外壳故障而发生故障,也可以进行自动切换。
- 成本: 引进成本高。 AWS S3 可以以低成本构建,但如果您的重点是本地,那么它不是一个选择。
负载平衡器配置

- 存储:小型启动配置/NAS/SAN可选。
- 备份:与小型启动配置/NAS/SAN 相同。
- 负荷分配:通过将负载均衡器放置在CAMServer之前,可以实现冗余和负载分配。附注(补充信息) 文号 负载均衡器配置要求详细信息还请检查。
- 可用性:与冗余外部存储配置结合使用时,所有层都可以进行自动故障转移。
- 成本: 引进成本高。
冗余和负载平衡设置
配置概述
为使 CAMServer 冗余和负载平衡,请在每个分布式服务器上安装一个 CAMServer、CAM服务器/boot.ini
在文件中添加以下条目。
cam.clusterHosts=camserver1;camserver2
cam.clusterHostsDesc=camserver1 がメインサーバ、camserver2 は待機系サーバです。
cam.serverDatePath=\\disk\CAMServer\data
cam.disableLANNetwork=true
# ビデオサーバの分散設定。「サーバ=ノード分散参加数目安値」で定義。
cam.videoDomains=camserver1=50;camserver2=50;camserver3=50
cam.clusterHosts.
cam.clusterHosts.
是每个分布式服务器的主机名 (FQDN)。 ;
列表以 分隔。
在端口 443 上启动 CAMServer 时
cam.clusterHosts=camserver1;camserver2

如果您为每个部门单独设置 CAMServer,请在每个 CAMServer 的 ini 文件的开头写入本地主机名 (FQDN)。选择初始连接服务器和启动时的视频服务器时,枚举顺序会受到影响。此外,网络应用程序版本 通过使用 ,在发生故障时可以进行故障转移连接。
在端口 8080 上启动 CAMServer 时
cam.clusterHosts=camserver1:8080;camserver2:8080
您可以在 CAMServer 前面放置一个 L7 负载均衡器,并将 CAMServer 转发到端口 8080。此情况下的设置与上文相同。在这种情况下,camapp 不会进行故障转移,因为负载均衡器会负责故障转移。这是 cam.serverURLDomain
,,cam.clusterHosts.
比较域并检测和控制负载均衡器的存在或不存在。
cam.clusterHostsDesc.

cam.clusterHostsDesc.
可以更改分布式服务器描述字段中的注释。
cam.serverDatePath.
cam.serverDatePath.
指定用于保存上传附件的数据库。指定可以从分布式服务器访问的共享磁盘。
* 指定共享磁盘并运行服务时 运行 Windows 服务的操作系统用户必须指定
如果没有共享磁盘,子 CAMServer 可用作主 CAMServer 的 CAMServer/config
还可以通过指定文件夹共享存储空间。
cam.videoDomains
视频服务器分配设置。如果按如下方式定义,则当按枚举顺序排列的房间中的参加者总数超过50人时,将在下一个服务器上创建会议室。
cam.videoDomains=camserver1=50;camserver2=50;camserver3=50
cam.disableLANNetwork
冗余配置中不需要 LAN 的 TCP/UDP 连接,因此请禁用它们。
cam.disableLANNetwork=true
防火墙通讯权限,用于服务器间数据同步
- 实时数据更新(用户状态、消息、聊天室等)在 CAMServer 之间同步,因此需要使用防火墙等允许服务器之间的通信。
- TCP 端口 9090、9091 和 9092 用于访问数据库主节点
- 用于服务器到服务器连接的 TCP 8080 端口 URL
- 在 ini 文件中定义 cam.clusterHosts
- 示例)cam.clusterHosts=camserver1:8080;camserver2:8080;camserver3:8080
负载均衡器要求详细信息

我们将详细描述负载均衡器配置所需的要求。
1. SSL 终止
- 在负载均衡器上安装 SSL 证书并执行 SSL/TLS 解密。
- 使用 HTTPS 接受来自客户端的通信,从负载均衡器到后端使用 HTTP。
2.负载均衡算法
- 使用循环法进行负载平衡
- 需要基于cookie的会话维护(会话亲和性),并且需要确认其具有将同一Client的访问分发到同一节点的功能。
3. 标头和附加处理传输到后端服务器(8080)
X-转发-原型
LB转发到后端服务器时将请求标识为https的标头项
X-转发-For
LB转发给后端服务器时标识客户端IP地址的头项。
处理 WebSocket 升级标头
分析HTTP请求并检测Upgrade标头,触发TCP切换
4. 与后端服务器通信
从负载均衡器到每个 CAMServer 的通信是使用以下协议和端口执行的。
- 协议:HTTP
- 端口号:8080
- 连接示例:http://HOSTNAME:8080/
5. 健康检查
- 负载均衡器定期请求以下 URL,如果满足条件,则确定其“正常”。
- 健康检查网址:http://HOSTNAME:8080/CAMServer/healthCheck
- 健康检查条件: HTTP 状态码:200 响应正文:{“status”:200}