選單

CAM伺服器冗餘/負載平衡

目錄

關於冗餘和負載平衡

CAM伺服器 在最終計劃中,在本地環境中非常容易實現這樣可以實現網頁伺服器和視訊伺服器的冗餘和負載平衡。即使一台伺服器宕機,也能確保服務的連續性,並且可以透過將處理任務分配給大量使用者來降低效能損失。

此外,分散式配置 CAM伺服器 但即時通訊是可能的。例如,CAMServer1 已連線的客戶端是CAMServer2 您可以與其他連接到您系統的客戶聊天和舉行網路會議。

• 網路會議負載平衡是根據活躍會議數和參與用戶數進行的。
同時進行的Web會議數量僅為CAM伺服器僅僅增加節點數量並不能解決這個問題。還必須考慮網路配置,以確保並非所有會議都透過同一個 VPN 或中央路由器進行路由。

冗餘和負載平衡配置

我們可以根據貴公司的需求和預算,配置最佳環境。

小啟動配置

  • 貯存:資料庫/文件位於 CAMServer1 上,並透過 CAMServer2 存取。即使在這種情況下,所有用戶仍然可以即時共享資料。
  • 備份需要每日將資料庫/文件資料備份到 CAMServer2。
  • 負載平衡可以透過隔離各部門存取的 CAMServer(或使用備用伺服器)來實現負載平衡。網路會議始終可以進行負載平衡。
  • 可用性:當單元 1 失敗時,資料庫連線目標設定 cam.serverDatePath 必須切換到本地節點。以防磁碟故障…備份完畢保證提供前一天的數據。
  • 成本這是最具成本效益的配置。它從單一單元開始,可以根據負載情況進行擴展。

外部儲存(NAS)配置

  • [夢]將資料庫/檔案放置在具有 RAID 配置的高持久性外部儲存 NAS 上,並讓 CAMServer1 和 CAMServer2 都存取它。或者,指定虛擬化基礎架構的主機作業系統提供的虛擬 NAS。
  • 備份即使採用 RAID 配置,也必須每天備份資料庫/文件數據,以應對電源/機箱故障和人為錯誤。
  • 負載平衡這與小規模啟動配置相同。
  • 可用性如果發生故障,Web 應用程式版本 如果您使用此方法,請參閱下文。 cam.clusterHosts它可以檢測到這種情況並啟用自動故障轉移。
  • 成本一種相對經濟的配置。

冗餘外部儲存配置

  1. [夢]此配置優先考慮針對磁碟故障的高可用性,利用冗餘檔案共用伺服器(例如 Windows Server 故障轉移叢集 + SAN、AWS S3 + rclone 等)。
  2. 備份資料會自動複製,因此根據策略的不同,可能不需要備份。但是,如果您希望防範人為錯誤(例如手動擦除磁碟),則仍然需要備份。
  3. 負載平衡這與小規模啟動配置相同。
  4. 可用性Web 伺服器設定與小型啟動配置相同。即使發生磁碟或機殼故障,也能自動切換。
  5. 成本初始部署成本很高。雖然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=50

cam.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.serverURLDomaincam.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.clusterHosts,則可以省略此步驟。
該值並不表示最大連線數的上限,而只是負載平衡的指導原則。

cam.disableLANNetwork

在冗餘配置中,LAN 的 TCP/UDP 連線是不必要的,因此請停用它們。

cam.disableLANNetwork=true

允許防火牆通訊以進行伺服器間資料同步。

  1. CAMServer 之間會同步即時資料更新(使用者線上狀態、訊息、聊天室等),因此需要透過防火牆或類似手段授予伺服器間通訊權限。
  2. TCP 連接埠 9090、9091 和 9092 用於存取資料庫主節點。
  3. 伺服器間連線的 TCP 連接埠 8080 URL
    • 在 ini 檔案中的 cam.clusterHosts 檔案中定義。
    • 例如)cam.clusterHosts=camserver1:8080;camserver2:8080;camserver3:8080

負載平衡器要求詳情

本文檔詳細介紹了負載平衡器配置的要求。

它支援 L7/L4 層,但需要會話親和性。請注意,L7 層允許您基於會話固定連接,而 L4 層只能按 IP 位址固定連接。本說明將重點放在 L7 層的配置。

1. SSL 終止

  1. 在負載平衡器上安裝 SSL 憑證並解密 SSL/TLS 連線。
  2. 客戶端通訊透過 HTTPS 進行,而負載平衡器與後端之間的通訊則使用 HTTP。

2. 負載平衡演算法

  1. 使用輪詢方式進行負載平衡
  2. 需要基於 Cookie 的會話維護(會話親和性),並且必須驗證系統是否具有將來自同一客戶端的存取路由到同一節點的功能。

3. 標頭和附加處理將轉送到後端伺服器(8080)。

X-Forwarded-Proto
當負載平衡器 (LB) 將請求轉送到後端伺服器時,用於識別請求為 HTTPS 的標頭項。

X-轉發
當負載平衡器將資料轉送到後端伺服器時,用於識別客戶端 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}
  • 網址をコピーしました!
目錄