選單

CAMServer 冗余和负载平衡

目錄

關於冗餘和負載平衡

借助 CAMServer 的終極計劃,在本地環境中非常簡單可以進行Web伺服器和視訊伺服器的冗餘和負載平衡。這樣,即使一台伺服器當機,服務也能繼續,即使有大量用戶使用,也可以在不降低效能的情況下分散處理並提供服務。

分散式配置 CAMServer 然而,即時通訊是可能的。例如,CAM伺服器1 一個客戶端連接到CAM伺服器2 您可以與連接到 的另一個用戶端聊天或召開網路會議。視訊伺服器負載平衡是根據活動會議數量和參與用戶數量執行的。

同時進行的網路會議的數量很簡單CAMServer這不能透過簡單地增加節點數量來實現。還需要考慮網路配置,以便所有會議不會透過同一 VPN 或中心路由器進行中繼。

冗餘/負載分配配置

您可以根據您公司的要求等級和成本配置最佳環境。

小啟動配置

  • 貯存:將 DB/File 放置在 CAMServer1 端,並從 CAMServer2 引用它。即使在這種情況下,所有用戶都可以即時共享資料。
  • 備份:每天需要將DB/File資料備份到CAMServer2上。
  • 負荷分配:透過將存取的CAMServer按部門劃分(或使其成為備用系統),可以進行負載分配。
  • 可用性:發生故障時,网络应用程序版本 如果你使用 cam.clusterHosts檢測和自動故障轉移。如果磁碟故障備份已完成保證數據截至前一天。
  • 成本: 最便宜的配置。您可以從單一設備配置開始,然後根據負載進行擴充。

外部儲存 (NAS) 配置

  • 貯存:將資料庫/檔案放置在 RAID 配置中的高度耐用的外部儲存 NAS 上,並引用 CAMServer1 和 CAMServer2。
  • 備份:即使使用 RAID 配置,也需要每天備份 DB/文件數據,以應對電源/外殼故障和人為故障。
  • 負荷分配:與小啟動配置相同。
  • 可用性:與小啟動配置相同。
  • 成本:相對便宜的配置。

冗餘外部儲存配置

  1. 貯存:透過使用冗餘檔案共用伺服器(Windows Server 故障轉移叢集 +SAN、AWS S3 等)強調針對磁碟故障的高可用性的配置。
  2. 備份:資料會自動複製,因此根據策略不需要備份。但是,如果您考慮人為故障(例如手動擦除磁碟),您仍然需要備份。
  3. 負荷分配:與小啟動配置相同。
  4. 可用性:web伺服器與小啟動配置相同。即使由於磁碟或機箱故障而發生故障,也可以自動切換。
  5. 成本: 引進成本高。 AWS S3 可以以低成本構建,但如果您的重點是本地,那麼它不是一個選擇。

負載平衡器配置

  • 貯存:小型啟動配置/NAS/SAN可選。
  • 備份:與小型啟動配置/NAS/SAN 相同。
  • 負荷分配:透過將負載平衡器放置在CAMServer之前,可以實現冗餘和負載分配。附注(补充信息) 文号 負載平衡器配置要求詳細信息還請檢查。
  • 可用性:與冗餘外部儲存配置結合使用時,所有層都可以進行自動故障轉移。
  • 成本: 引進成本高。

冗餘/負載平衡設置

每個分散式伺服器的通用設置

為了支援CAMServer冗餘和負載平衡,在每個分散式伺服器上安裝CAMServer,CAM伺服器/cam.ini 將以下條目新增至文件。

cam.clusterHosts=camserver1;camserver2
cam.clusterHostsDesc=camserver1 がメインサーバ、camserver2 は待機系サーバです。
cam.serverDatePath=\\disk\CAMServer\data
cam.enabledSingleProcessingHost=camserver1

cam.clusterHosts

cam.clusterHosts 是每個分散式伺服器的主機名稱。 ; 枚舉分隔。來自客戶端的主機名 https://主機名稱/ 必須是可訪問的。

cam.clusterHosts=camserver1;camserver2 

如果您想為每個部門單獨設定 CAMServer,請在每個 CAMServer 的 ini 檔案的開頭寫入主機名稱。啟動時選擇初始連接伺服器和視訊伺服器時,枚舉順序會受到影響。還网络应用程序版本 透過使用 ,在發生故障時可以進行故障轉移連線。

cam.clusterHosts描述

cam.clusterHosts描述 可以變更分佈式伺服器描述欄位中的註解。

cam.serverDatePath

cam.serverDatePath 指定資料庫,用於儲存上傳的附件。指定可以從分散式伺服器存取的共用磁碟,例如 NAS。
*如果沒有共用磁碟,則子CAMServer為主CAMServer CAM伺服器/配置 也可以透過指定資料夾來共用儲存。

cam.enabledSingleProcessingHost

cam.enabledSingleProcessingHost 請指定 cam.clusterHosts 中列出的第一台伺服器的主機名稱。只能在單一主機上執行的進程,例如批次,配置為在cam.enabledSingleProcessingHost中判斷主機是否定義後執行。

僅設定子伺服器

cam.disableLANNetwork=true 您可以透過設定停用 LAN 的 TCP/UDP 連線。對第二個及後續子 CAMServer 執行此設定。

cam.disableLANNetwork=true

負載平衡器要求詳細信息

我們將詳細描述負載平衡器配置所需的要求。

1. SSL 終止

  1. 在負載平衡器上安裝 SSL 憑證並執行 SSL/TLS 解密。
  2. 使用 HTTPS 接受來自客戶端的通信,從負載平衡器到後端使用 HTTP。

2.負載平衡演算法

  1. 使用循環法進行負載平衡
  2. 需要基於Cookie的會話維護(會話親和性),並且需要確認其具有將相同Client的存取分發到同一節點的功能。

3. 標頭和附加處理傳輸到後端伺服器(8080)

X-轉發-原型
LB轉送到後端伺服器時將請求標識為https的標頭項

X-轉寄-For
LB轉送後端伺服器時標識客戶端IP位址的頭項。

處理 WebSocket 升級標頭
分析HTTP請求並偵測Upgrade標頭,觸發TCP切換

現代負載平衡器 (AWS/GCP/Azure) 預設具有標準設定。

4.與後端伺服器通信

使用以下協定和連接埠執行從負載平衡器到每個 CAMServer 的通訊。

  • 協定:HTTP
  • 埠號:8080
  • 連線範例:http://HOSTNAME:8080/

5. 健康檢查

  1. 負載平衡器定期請求以下 URL,如果滿足條件,則確定其「正常」。
  2. 健康檢查網址:http://HOSTNAME:8080/CAMServer/healthcheck
  3. 健康檢查條件: HTTP 狀態碼:200 回應正文:{“status”:200}

6.伺服器間資料同步的通訊權限

  1. 即時資料更新(使用者狀態、訊息、聊天室等)在 CAMServer 之間同步,因此需要使用防火牆等允許伺服器之間的通訊。
  2. 伺服器到伺服器的連線 URL 在 ini 檔案的 cam.clusterHosts 中定義。
    • 範例)cam.clusterHosts=camserver1:8080;camserver2:8080;camserver3:8080

*如果camserver1上的使用者資訊已更新,請連接到以下URL並同步資料。
http://camserver2:8080/CAMServer/syncWebSocketData
http://camserver3:8080/CAMServer/syncWebSocketData

  • 網址をコピーしました!
目錄