À propos de la redondance et de l'équilibrage de charge
Avec le plan Ultimate de CAMServer,Très simple dans un environnement sur siteLa redondance et l'équilibrage de charge du serveur Web et du serveur vidéo peuvent être effectués. Cela permet aux services de continuer même si un serveur tombe en panne, et même lorsqu'il est utilisé par un grand nombre d'utilisateurs, il est possible de distribuer le traitement et de fournir des services sans dégrader les performances.
configuration distribuée CAMServer
Cependant, une communication en temps réel est possible. Par exemple,Serveur CAM1
Un Client connecté àServeur CAM2
Vous pouvez discuter ou organiser une conférence Web avec un autre client connecté à . L'équilibrage de charge du serveur vidéo est effectué en fonction du nombre de réunions actives et du nombre d'utilisateurs participants.
Le nombre de conférences Web simultanées est tout simplementCAMServer
Cela ne peut pas être réalisé en augmentant simplement le nombre de nœuds. Il faut également réfléchir à la configuration du réseau afin que toutes les réunions ne soient pas relayées via le même VPN ou routeur central.
Configuration de redondance/répartition de charge
Vous pouvez configurer l'environnement optimal en fonction du niveau de demande et du coût de votre entreprise.
Petite configuration de démarrage
- Stockage:Placez DB/File du côté CAMServer1 et référencez-le également à partir de CAMServer2. Même dans ce cas, tous les utilisateurs peuvent partager des données en temps réel.
- sauvegarde: Les données de base de données/fichier doivent être sauvegardées quotidiennement sur CAMServer2.
- Répartition de la charge: La répartition de la charge est possible en divisant le CAMServer accédé par département (ou en en faisant un système de secours).
- disponibilité: Lorsqu'une panne survient,Version de l'application Web Si tu utilises
cam.clusterHosts
détection et basculement automatique. En cas de panne de disquesauvegardea été faitDonnées garanties jusqu'à la veille. - coût:La configuration la moins chère. Vous pouvez commencer avec une configuration d’unité unique et évoluer en fonction de la charge.
Configuration du stockage externe (NAS)
- Stockage: Placez la base de données/le fichier sur un NAS de stockage externe très durable dans une configuration RAID et faites référence à CAMServer1 et CAMServer2.
- sauvegarde: Même avec une configuration RAID, il est nécessaire de sauvegarder quotidiennement les données de base de données/fichiers pour tenir compte des pannes d'alimentation/du boîtier et des pannes humaines.
- Répartition de la charge: Identique à la petite configuration de démarrage.
- disponibilité: Identique à la petite configuration de démarrage.
- coût: Configuration relativement peu coûteuse.
Configuration de stockage externe redondante
- Stockage: Une configuration qui met l'accent sur la haute disponibilité contre les pannes de disque en utilisant des serveurs de partage de fichiers redondants (Windows Server Failover Clustering +SAN, AWS S3, etc.).
- sauvegarde: Les données sont automatiquement répliquées, les sauvegardes ne sont donc pas requises selon la politique. Cependant, si vous envisagez une défaillance humaine (comme l'effacement manuel du disque), vous aurez toujours besoin d'une sauvegarde.
- Répartition de la charge: Identique à la petite configuration de démarrage.
- disponibilité:Le serveur web est le même que la petite configuration de démarrage. La commutation automatique est possible même en cas de panne due à une panne de disque ou de châssis.
- coût:Le coût d'introduction est élevé. AWS S3 peut être construit à faible coût, mais ce n'est pas une option si vous vous concentrez sur le site.
Configuration de l'équilibreur de charge
- Stockage: Une petite configuration de démarrage / NAS / SAN peut être sélectionnée.
- sauvegarde: Identique à la petite configuration de démarrage / NAS / SAN.
- Répartition de la charge:En plaçant Load Balancer devant CAMServer, la redondance et la répartition de la charge sont possibles.* Load Balancer 構成の要件詳細も確認してください。
- disponibilité: Le basculement automatique est possible pour toutes les couches lorsqu'il est combiné à une configuration de stockage externe redondante.
- coût:Le coût d'introduction est élevé.
Paramètres de redondance/équilibrage de charge
Paramètres communs pour chaque serveur distribué
Pour prendre en charge la redondance et l'équilibrage de charge de CAMServer, installez CAMServer sur chaque serveur distribué,CAMServer/cam.ini
Ajoutez l'entrée suivante au fichier.
cam.clusterHosts=camserver1;camserver2
cam.clusterHostsDesc=camserver1 がメインサーバ、camserver2 は待機系サーバです。
cam.serverDatePath=\\disk\CAMServer\data
cam.enabledSingleProcessingHost=camserver1
cam.clusterHosts
cam.clusterHosts
est le nom d'hôte de chaque serveur distribué. ;
Énumérer séparé par. nom d'hôte du côté client https://nom d'hôte/
doit être accessible.
cam.clusterHosts=camserver1;camserver2
Si vous souhaitez séparer les CAMServers pour chaque département, écrivez le nom d'hôte au début du fichier ini de chaque CAMServer. L'ordre d'énumération est affecté lors de la sélection du serveur de connexion initial et du serveur vidéo au démarrage. AussiVersion de l'application Web En utilisant , une connexion de basculement est possible en cas de panne.
cam.clusterHostsDesc
cam.clusterHostsDesc
peut modifier le commentaire dans le champ de description du serveur distribué.
cam.serverDatePath
cam.serverDatePath
Spécifie la base de données dans laquelle enregistrer les pièces jointes téléchargées. Spécifiez un disque partagé tel qu'un NAS accessible à partir de serveurs distribués.
*S'il n'y a pas de disque partagé, le sous-CAMServer est le CAMServer principal. CAMServer/config
Le stockage peut également être partagé en spécifiant un dossier.
cam.enabledSingleProcessingHost
cam.enabledSingleProcessingHost
Veuillez spécifier le nom d'hôte du premier serveur répertorié dans cam.clusterHosts. Les processus qui ne peuvent être exécutés que sur un seul hôte, tels que le traitement par lots, sont configurés pour être exécutés après avoir déterminé si l'hôte est défini dans cam.enabledSingleProcessingHost.
Définir uniquement le sous-serveur
cam.disableLANNetwork=true
Vous pouvez désactiver les connexions TCP/UDP pour le réseau local en définissant . Effectuez ce réglage pour le deuxième serveur CAM et les sous-serveurs suivants.
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