SPEISEKARTE

CAMServer Redundanz und Lastausgleich

Inhaltsverzeichnis

Über Redundanz und Lastausgleich

Mit dem Ultimate-Plan von CAMServerSehr einfach in einer lokalen UmgebungEs können Redundanz und Lastausgleich für Webserver und Videoserver durchgeführt werden. Dadurch können Dienste auch dann weitergeführt werden, wenn ein Server ausfällt, und selbst bei Nutzung durch eine große Anzahl von Benutzern ist es möglich, die Verarbeitung zu verteilen und Dienste ohne Leistungseinbußen bereitzustellen.

verteilte Konfiguration CAMServer Eine Kommunikation in Echtzeit ist jedoch möglich. Zum Beispiel,CAMServer1 Ein Client, mit dem verbunden istCAMServer2 Sie können mit einem anderen Client, der mit verbunden ist, chatten oder eine Webkonferenz abhalten. Der Lastausgleich des Videoservers erfolgt basierend auf der Anzahl der aktiven Meetings und der Anzahl der teilnehmenden Benutzer.

Die Anzahl der gleichzeitigen Webkonferenzen ist einfachCAMServerDies kann nicht durch eine einfache Erhöhung der Anzahl der Knoten erreicht werden. Es ist auch notwendig, die Netzwerkkonfiguration zu berücksichtigen, damit nicht alle Meetings über dasselbe VPN oder denselben zentralen Router weitergeleitet werden.

Redundanz-/Lastverteilungskonfiguration

Sie können die optimale Umgebung entsprechend dem Anforderungsniveau und den Kosten Ihres Unternehmens konfigurieren.

Kleine Startkonfiguration

  • Lagerung:Platzieren Sie DB/File auf der Seite von CAMServer1 und referenzieren Sie es auch von CAMServer2. Selbst in diesem Fall können alle Benutzer Daten in Echtzeit austauschen.
  • Sicherung: DB-/Dateidaten müssen täglich auf CAMServer2 gesichert werden.
  • Lastverteilung: Eine Lastverteilung ist möglich, indem der CAMServer, auf den zugegriffen wird, nach Abteilungen aufgeteilt wird (oder zu einem Standby-System gemacht wird).
  • Verfügbarkeit: Wenn ein Fehler auftritt,Version der Webanwendung Wenn du benutzt cam.clusterHostsErkennung und automatisches Failover. Im Falle eines FestplattenfehlersSicherunggeschahGarantierte Daten bis zum Vortag.
  • kosten:Die günstigste Konfiguration. Sie können mit einer Einzelgerätekonfiguration beginnen und diese entsprechend der Last skalieren.

Konfiguration des externen Speichers (NAS).

  • Lagerung: Platzieren Sie die Datenbank/Datei auf einem äußerst langlebigen externen Speicher-NAS in einer RAID-Konfiguration und beziehen Sie sich sowohl auf CAMServer1 als auch auf CAMServer2.
  • Sicherung: Auch bei einer RAID-Konfiguration ist es notwendig, täglich Datenbank-/Dateidaten zu sichern, um Netzteil-/Gehäusefehlern und menschlichem Versagen Rechnung zu tragen.
  • Lastverteilung: Identisch mit kleiner Startkonfiguration.
  • Verfügbarkeit: Identisch mit kleiner Startkonfiguration.
  • kosten: Relativ kostengünstige Konfiguration.

Redundante externe Speicherkonfiguration

  1. Lagerung: Eine Konfiguration, die durch die Verwendung redundanter Dateifreigabeserver (Windows Server Failover Clustering + SAN, AWS S3 usw.) den Schwerpunkt auf hohe Verfügbarkeit bei Festplattenausfällen legt.
  2. Sicherung: Daten werden automatisch repliziert, sodass je nach Richtlinie keine Sicherungen erforderlich sind. Wenn Sie jedoch menschliches Versagen in Betracht ziehen (z. B. das manuelle Löschen der Festplatte), benötigen Sie dennoch ein Backup.
  3. Lastverteilung: Identisch mit kleiner Startkonfiguration.
  4. Verfügbarkeit:Der Webserver entspricht der kleinen Startkonfiguration. Auch bei einem Ausfall durch Scheiben- oder Gehäusedefekt ist eine automatische Umschaltung möglich.
  5. kosten:Die Einführungskosten sind hoch. AWS S3 kann zu geringen Kosten erstellt werden, ist jedoch keine Option, wenn Sie sich auf den lokalen Betrieb konzentrieren.

Load Balancer-Konfiguration

  • Lagerung: Kleine Startkonfiguration / NAS / SAN wählbar.
  • Sicherung: Identisch mit kleiner Startkonfiguration / NAS / SAN.
  • Lastverteilung:Durch die Platzierung des Load Balancers vor dem CAMServer sind Redundanz und Lastverteilung möglich.* Load Balancer 構成の要件詳細も確認してください。
  • Verfügbarkeit: In Kombination mit einer redundanten externen Speicherkonfiguration ist ein automatisches Failover für alle Ebenen möglich.
  • kosten:Die Einführungskosten sind hoch.

Redundanz-/Lastausgleichseinstellungen

Allgemeine Einstellungen für jeden verteilten Server

Um CAMServer-Redundanz und Lastausgleich zu unterstützen, installieren Sie CAMServer auf jedem verteilten Server.CAMServer/cam.ini Fügen Sie der Datei den folgenden Eintrag hinzu.

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

cam.clusterHosts

cam.clusterHosts ist der Hostname jedes verteilten Servers. ; Aufzählen getrennt durch. Hostname von der Clientseite https://hostname/ muss zugänglich sein.

cam.clusterHosts=camserver1;camserver2 

Wenn Sie CAMServer für jede Abteilung trennen möchten, schreiben Sie den Hostnamen an den Anfang der INI-Datei jedes CAMServers. Die Aufzählungsreihenfolge wird beeinflusst, wenn beim Start der anfängliche Verbindungsserver und der Videoserver ausgewählt werden. AuchVersion der Webanwendung Durch die Verwendung ist im Falle eines Ausfalls eine Failover-Verbindung möglich.

cam.clusterHostsDesc

cam.clusterHostsDesc Sie können den Kommentar im Beschreibungsfeld des verteilten Servers ändern.

cam.serverDatePath

cam.serverDatePath Gibt die Datenbank an, in der hochgeladene Anhänge gespeichert werden sollen. Geben Sie eine gemeinsam genutzte Festplatte an, z. B. ein NAS, auf die von verteilten Servern aus zugegriffen werden kann.
*Wenn keine gemeinsam genutzte Festplatte vorhanden ist, ist der Sub-CAMServer der Haupt-CAMServer CAMServer/config Der Speicher kann auch durch Angabe eines Ordners geteilt werden.

cam.enabledSingleProcessingHost

cam.enabledSingleProcessingHost Bitte geben Sie den Hostnamen des ersten in cam.clusterHosts aufgeführten Servers an. Prozesse, die nur auf einem einzelnen Host ausgeführt werden können, wie z. B. die Stapelverarbeitung, werden für die Ausführung konfiguriert, nachdem festgestellt wurde, ob der Host in cam.enabledSingleProcessingHost definiert ist.

Stellen Sie nur den Subserver ein

cam.disableLANNetwork=true Sie können TCP/UDP-Verbindungen für LAN deaktivieren, indem Sie festlegen. Führen Sie diese Einstellung für den zweiten und die folgenden Sub-CAMServer durch.

cam.disableLANNetwork=true

Load Balancer の要件詳細

Load Balancer 構成で必要となる要件詳細を記述致します。

1. SSL終端(SSL Termination)

  1. ロードバランサーでSSL証明書をインストールし、SSL/TLSの復号を行う。
  2. クライアントからの通信はHTTPSで受け付け、ロードバランサーからバックエンドにはHTTPを使用。

2. 負荷分散アルゴリズム

  1. ラウンドロビンでの負荷分散
  2. クッキー(Cookie)ベースのセッション維持(セッション・アフィニティー)が必要で、同一 Client のアクセスを同一ノードへ振り分ける機能を有しているか確認が必要。

3. バックエンドサーバー(8080)に転送するヘッダや追加処理

X-Forwarded-Proto
LBがバックエンドサーバーに転送する際に、リクエストが https である事を識別させるヘッダ項目

X-Forwarded-For
LBがバックエンドサーバーに転送する際に、クライアントのIPアドレスを識別させるヘッダ項目

WebSocketのUpgradeヘッダーの処理
HTTPリクエストを解析し、Upgrade ヘッダーを検出すると、それをトリガーにTCP切り替え

昨今のロードバランサー(AWS/GCP/Azure)はデフォルトで設定されている標準的な内容

4. バックエンドサーバとの通信

ロードバランサーから各CAMServerへの通信は以下のプロトコルとポートで行う。

  • プロトコル: HTTP
  • ポート番号: 8080
  • 接続例: http://HOSTNAME:8080/

5. ヘルスチェック(Health Check)

  1. ロードバランサーは次のURLを定期的にリクエストし、条件を満たす場合に「正常」と判定。
  2. ヘルスチェックURL: http://HOSTNAME:8080/CAMServer/healthcheck
  3. ヘルスチェックの条件: HTTPステータスコード: 200レスポンスボディ: {“status”:200}

6. サーバ間データ同期のため、通信許可

  1. リアルタイムなデータ(ユーザプレゼンス状態、メッセージ、チャットルーム等)更新はCAMServer間で同期を行うためFirewall などでサーバ間の通信許可が必要。
  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

  • URLをコピーしました!
Inhaltsverzeichnis