关于冗余和负载均衡
CAM服务器 在最终计划中,在本地环境中非常容易实现这样可以实现网络服务器和视频服务器的冗余和负载均衡。即使一台服务器宕机,也能确保服务的连续性,并且可以通过将处理任务分配给大量用户来降低性能损失。
此外,分布式配置 CAM服务器 但实时通信是可能的。例如,CAMServer1 已连接的客户端是CAMServer2 您可以与其他连接到您系统的客户聊天和举行网络会议。
• 网络会议负载均衡是根据活跃会议数和参与用户数进行的。
同时进行的Web会议数量仅为CAM服务器仅仅增加节点数量并不能解决这个问题。还必须考虑网络配置,以确保并非所有会议都通过同一个 VPN 或中央路由器进行路由。
冗余和负载均衡配置
我们可以根据贵公司的需求和预算,配置最佳环境。
小启动配置

- 贮存:数据库/文件位于 CAMServer1 上,并通过 CAMServer2 访问。即使在这种情况下,所有用户仍然可以实时共享数据。
- 备份需要每日将数据库/文件数据备份到 CAMServer2。
- 负载均衡可以通过隔离各部门访问的 CAMServer(或使用备用服务器)来实现负载均衡。网络会议始终可以进行负载均衡。
- 可用性:当单元 1 失败时,数据库连接目标设置
cam.serverDatePath必须切换到本地节点。以防磁盘故障……备份完毕保证提供前一天的数据。 - 成本这是最具成本效益的配置。它从单个单元开始,可以根据负载情况进行扩展。
外部存储(NAS)配置

- [梦]将数据库/文件放置在具有 RAID 配置的高持久性外部存储 NAS 上,并让 CAMServer1 和 CAMServer2 都访问它。或者,指定虚拟化基础架构的主机操作系统提供的虚拟 NAS。
- 备份即使采用 RAID 配置,也必须每天备份数据库/文件数据,以应对电源/机箱故障和人为错误。
- 负载均衡这与小规模启动配置相同。
- 可用性如果发生故障,Web 应用版本 如果您使用此方法,请参见下文。
cam.clusterHosts它可以检测到这种情况并启用自动故障转移。 - 成本一种相对经济的配置。
冗余外部存储配置

- [梦]此配置优先考虑针对磁盘故障的高可用性,利用冗余文件共享服务器(例如 Windows Server 故障转移群集 + SAN、AWS S3 + rclone 等)。
- 备份数据会自动复制,因此根据策略的不同,可能不需要备份。但是,如果您希望防范人为错误(例如手动擦除磁盘),则仍然需要备份。
- 负载均衡这与小规模启动配置相同。
- 可用性Web 服务器配置与小型启动配置相同。即使发生磁盘或机箱故障,也能自动切换。
- 成本初始部署成本很高。虽然AWS S3可以低成本构建,但如果优先考虑本地基础设施,它就不是一个可行的选择。
负载均衡器配置

- [梦]提供小规模启动配置/NAS/SAN选项。
- 备份与小型启动配置/NAS/SAN相同。
- 负载均衡通过在 CAMServer 前面放置负载均衡器,可以实现冗余和负载均衡。※ 负载均衡器配置要求详情请同时检查一下这个。
- 可用性结合冗余外部存储配置,可实现跨所有层的自动故障转移。
- 成本前期投入成本较高。
冗余和负载均衡设置
配置概述
为了实现 CAMServer 的冗余和负载均衡,请在每个分布式服务器上安装 CAMServer。CAMServer/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=50cam.clusterHosts
cam.clusterHosts 每个分布式服务器的主机名(FQDN)是 ; 项目之间用逗号分隔。
在端口 443 上启动 CAMServer 时
cam.clusterHosts=camserver1;camserver2 
如果要按部门划分 CAM 服务器,请在每个 CAM 服务器的 ini 文件开头列出主机名(FQDN)。列出的顺序会影响启动时初始连接服务器和视频服务器的选择。Web 应用版本 通过这种方法,可以在发生故障时自动切换服务器。
* 如果未配置 SSO 或无密码身份验证,切换后您将需要重新登录。
在端口 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 这指定了数据库 (DB) 及其存储上传附件的位置。它还指定了一个可从分布式服务器访问的共享磁盘。
*指定共享磁盘时,如果服务正在运行…… 运行 Windows 服务的操作系统用户必须明确以下内容。
* 如果没有共享磁盘,则子 CAMServer 将与主 CAMServer 相同。 CAMServer/配置 您还可以通过指定文件夹来共享存储空间。
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 的会话维护(会话亲和性),并且必须验证系统是否具有将来自同一客户端的访问路由到同一节点的功能。
3. 标头和附加处理将转发到后端服务器(8080)。
X-Forwarded-Proto
当负载均衡器 (LB) 将请求转发到后端服务器时,用于标识请求为 HTTPS 的标头项。
X-转发
当负载均衡器将数据转发到后端服务器时,用于标识客户端 IP 地址的标头项。
处理 WebSocket 升级标头
当解析 HTTP 请求并检测到 Upgrade 标头时,会触发 TCP 切换。
4. 与后端服务器的通信
负载均衡器与每个 CAMServer 之间的通信将使用以下协议和端口进行。
- 协议:HTTP
- 端口号:8080
- 连接示例:http://HOSTNAME:8080/
5. 健康检查
- 负载均衡器会定期请求以下 URL,如果满足条件,则判定其为“正常”。
- 健康检查网址:http://HOSTNAME:8080/CAMServer/healthCheck
- 健康检查条件:HTTP 状态码:200 响应正文:{"status":200}
