Informazioni sulla ridondanza e sul bilanciamento del carico
Con il piano Ultimate di CAMServer,Molto semplice in un ambiente localeÈ possibile eseguire la ridondanza del server Web e del server video e il bilanciamento del carico. Ciò consente ai servizi di continuare anche se un server non funziona e, anche se utilizzato da un numero elevato di utenti, è possibile distribuire l'elaborazione e fornire servizi senza ridurre le prestazioni.
configurazione distribuita CAMServer
Tuttavia, la comunicazione in tempo reale è possibile. Per esempio,CAMServer1
Un Cliente connesso aCAMServer2
È possibile chattare o tenere una conferenza web con un altro Cliente connesso a . Il bilanciamento del carico del server video viene eseguito in base al numero di riunioni attive e al numero di utenti partecipanti.
Il numero di conferenze web simultanee è semplicementeCAMServer
Ciò non può essere ottenuto semplicemente aumentando il numero di nodi. È inoltre necessario considerare la configurazione della rete in modo che tutte le riunioni non vengano trasmesse attraverso la stessa VPN o router centrale.
Configurazione di ridondanza/distribuzione del carico
Puoi configurare l'ambiente ottimale in base al livello di richiesta e al costo della tua azienda.
Configurazione di avvio ridotto
- Magazzinaggio:Posizionare DB/File sul lato CAMServer1 e farvi riferimento anche da CAMServer2. Anche in questo caso tutti gli utenti possono condividere i dati in tempo reale.
- backup: È necessario eseguire il backup dei dati DB/file su CAMServer2 ogni giorno.
- distribuzione del carico: La distribuzione del carico è possibile dividendo il CAMServer a cui si accede per reparto (o trasformandolo in un sistema di standby).
- disponibilità: Quando si verifica un errore,Versione dell'app Web Se usi
cam.clusterHosts
rilevamento e failover automatico. In caso di guasto del discobackupè stata fattaDati garantiti fino al giorno precedente. - costo:La configurazione più economica. È possibile iniziare con una configurazione a unità singola e aumentare in base al carico.
Configurazione di archiviazione esterna (NAS).
- Magazzinaggio: posizionare il DB/file su un NAS di archiviazione esterno altamente durevole in una configurazione RAID e fare riferimento sia a CAMServer1 che a CAMServer2.
- backup: Anche con una configurazione RAID, è necessario eseguire il backup dei dati DB/file ogni giorno per tenere conto dei guasti dell'alimentatore/involucro e degli errori umani.
- distribuzione del carico: Uguale alla configurazione di avvio ridotto.
- disponibilità: Uguale alla configurazione di avvio ridotto.
- costo: Configurazione relativamente economica.
Configurazione di archiviazione esterna ridondante
- Magazzinaggio: una configurazione che enfatizza l'elevata disponibilità contro i guasti del disco utilizzando server di condivisione file ridondanti (Windows Server Failover Clustering +SAN, AWS S3 e così via).
- backup: i dati vengono replicati automaticamente, quindi i backup non sono richiesti a seconda della policy. Tuttavia, se stai considerando un errore umano (come la cancellazione manuale del disco), avrai comunque bisogno di un backup.
- distribuzione del carico: Uguale alla configurazione di avvio ridotto.
- disponibilità:Il server web è lo stesso della configurazione Small Start. La commutazione automatica è possibile anche in caso di guasto dovuto al guasto del disco o dell'alloggiamento.
- costo:Il costo di introduzione è elevato. AWS S3 può essere creato a basso costo, ma non è un'opzione se la tua attenzione è in locale.
Configurazione del bilanciatore del carico
- Magazzinaggio: È possibile selezionare la configurazione di avvio ridotto/NAS/SAN.
- backup: Uguale alla configurazione di avvio ridotto/NAS/SAN.
- distribuzione del carico:Posizionando il Load Balancer davanti al CAMServer, sono possibili la ridondanza e la distribuzione del carico.* Load Balancer 構成の要件詳細も確認してください。
- disponibilità: Il failover automatico è possibile per tutti i livelli se combinato con una configurazione di archiviazione esterna ridondante.
- costo:Il costo di introduzione è elevato.
Impostazioni di ridondanza/bilanciamento del carico
Impostazioni comuni per ciascun server distribuito
Per supportare la ridondanza di CAMServer e il bilanciamento del carico, installare CAMServer su ciascun server distribuito,CAMServer/cam.ini
Aggiungere la seguente voce al file.
cam.clusterHosts=camserver1;camserver2
cam.clusterHostsDesc=camserver1 がメインサーバ、camserver2 は待機系サーバです。
cam.serverDatePath=\\disk\CAMServer\data
cam.enabledSingleProcessingHost=camserver1
cam.clusterHosts
cam.clusterHosts
è il nome host di ciascun server distribuito. ;
Enumerare separati da. nome host dal lato client https://nomehost/
deve essere accessibile.
cam.clusterHosts=camserver1;camserver2
Se si desidera separare i CAMServer per ciascun reparto, scrivere il nome host all'inizio del file ini di ciascun CAMServer. L'ordine di enumerazione viene influenzato quando si seleziona il server di connessione iniziale e il server video all'avvio. AncheVersione dell'app Web Utilizzando , è possibile la connessione di failover in caso di guasto.
cam.clusterHostsDesc
cam.clusterHostsDesc
può modificare il commento nel campo della descrizione del server distribuito.
cam.serverDatePath
cam.serverDatePath
Specifica il DB in cui salvare gli allegati caricati. Specificare un disco condiviso come un NAS a cui è possibile accedere da server distribuiti.
*Se non è presente un disco condiviso, il CAMServer secondario è il CAMServer principale CAMServer/config
Lo spazio di archiviazione può anche essere condiviso specificando una cartella.
cam.enabledSingleProcessingHost
cam.enabledSingleProcessingHost
Specificare il nome host del primo server elencato in cam.clusterHosts. I processi che possono essere eseguiti solo su un singolo host, come l'elaborazione batch, sono configurati per essere eseguiti dopo aver determinato se l'host è definito in cam.enabledSingleProcessingHost.
Imposta solo il server secondario
cam.disableLANNetwork=true
È possibile disabilitare le connessioni TCP/UDP per la LAN impostando . Eseguire questa impostazione per il secondo e i successivi CAMServer secondari.
cam.disableLANNetwork=true
Load Balancer の要件詳細
Load Balancer 構成で必要となる要件詳細を記述致します。
1. SSL終端(SSL Termination)
- ロードバランサーでSSL証明書をインストールし、SSL/TLSの復号を行う。
- クライアントからの通信はHTTPSで受け付け、ロードバランサーからバックエンドにはHTTPを使用。
2. 負荷分散アルゴリズム
- ラウンドロビンでの負荷分散
- クッキー(Cookie)ベースのセッション維持(セッション・アフィニティー)が必要で、同一 Client のアクセスを同一ノードへ振り分ける機能を有しているか確認が必要。
3. バックエンドサーバー(8080)に転送するヘッダや追加処理
X-Forwarded-Proto
LBがバックエンドサーバーに転送する際に、リクエストが https である事を識別させるヘッダ項目
X-Forwarded-For
LBがバックエンドサーバーに転送する際に、クライアントのIPアドレスを識別させるヘッダ項目
WebSocketのUpgradeヘッダーの処理
HTTPリクエストを解析し、Upgrade ヘッダーを検出すると、それをトリガーにTCP切り替え
4. バックエンドサーバとの通信
ロードバランサーから各CAMServerへの通信は以下のプロトコルとポートで行う。
- プロトコル: HTTP
- ポート番号: 8080
- 接続例: http://HOSTNAME:8080/
5. ヘルスチェック(Health Check)
- ロードバランサーは次のURLを定期的にリクエストし、条件を満たす場合に「正常」と判定。
- ヘルスチェックURL: http://HOSTNAME:8080/CAMServer/healthcheck
- ヘルスチェックの条件: HTTPステータスコード: 200レスポンスボディ: {“status”:200}
6. サーバ間データ同期のため、通信許可
- リアルタイムなデータ(ユーザプレゼンス状態、メッセージ、チャットルーム等)更新はCAMServer間で同期を行うためFirewall などでサーバ間の通信許可が必要。
- サーバ間接続URLは、iniファイルの cam.clusterHosts で定義
- 例)cam.clusterHosts=camserver1:8080;camserver2:8080;camserver3:8080
※ camserver1 でユーザ情報が更新された場合、以下URLに接続しデータ同期を行う
http://camserver2:8080/CAMServer/syncWebSocketData
http://camserver3:8080/CAMServer/syncWebSocketData