MENU

Redondance/équilibrage de charge du serveur CAM

table des matières

À propos de la redondance et de l'équilibrage de charge

CAMServer Avec le plan Ultimate,Très simple dans un environnement sur siteLes serveurs Web et vidéo peuvent être rendus redondants et équilibrés en charge. 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, le traitement peut être distribué et les services peuvent être fournis sans dégradation des performances.

De plus, la 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 la charge des conférences Web est basé sur le nombre de conférences actives et le nombre d'utilisateurs participants.
・Le nombre de conférences Web simultanées est simplementCAMServerCela ne peut pas être réalisé simplement en ajoutant des nœuds supplémentaires. Il faut également prendre en compte la configuration du réseau afin que toutes les conférences 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 chargeL'équilibrage de charge est possible en divisant le serveur CAM accessible par service (ou en le transformant en système de secours). Les conférences Web peuvent toujours être équilibrées.
  • disponibilité: Paramètres de connexion à la base de données en cas de panne sur l'unité 1 cam.serverDatePath En cas de panne de disque,sauvegardea été faitLes données jusqu'à la veille sont garanties.
  • 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)

  • StockagePlacez la base de données/le fichier sur un NAS de stockage externe hautement durable avec configuration RAID et référencez CAMServer1 et CAMServer2. Vous pouvez également spécifier un NAS virtuel fourni par le système d'exploitation hôte de la plateforme de virtualisation.
  • 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é: Lorsqu'une panne survient,Version de l'application Web Si tu utilises cam.clusterHostsIl peut détecter et basculer automatiquement.
  • coût: Configuration relativement peu coûteuse.

Configuration de stockage externe redondante

  1. Stockage:Une configuration qui utilise des serveurs de partage de fichiers redondants (Windows Server Failover Clustering + SAN, AWS S3 + rclone, etc.) et met l'accent sur la haute disponibilité en cas de panne de disque.
  2. 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.
  3. Répartition de la charge: Identique à la petite configuration de démarrage.
  4. 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.
  5. 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.* Détails des exigences de configuration de l'équilibreur de chargeVeuillez également vérifier.
  • 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

Présentation de la configuration

Pour prendre en charge la redondance et l'équilibrage de charge de CAMServer, installez CAMServer sur chaque serveur distribué,CAMServer/boot.ini Ajoutez l'entrée suivante au fichier.

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 est le nom d'hôte (FQDN) de chaque serveur distribué. ; La liste est séparée par .

Lors du démarrage de CAMServer sur le port 443

cam.clusterHosts=camserver1;camserver2 

Si vous séparez les serveurs CAM pour chaque service, indiquez le nom d'hôte local (FQDN) au début du fichier .ini de chaque serveur CAM. 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. De plus,Version de l'application Web En utilisant , une connexion de basculement est possible en cas de panne.

Lors du démarrage de CAMServer sur le port 8080

cam.clusterHosts=camserver1:8080;camserver2:8080 

Vous pouvez placer un équilibreur de charge L7 devant CAMServer et le faire rediriger vers le port 8080. Les paramètres sont alors identiques à ceux indiqués ci-dessus. Dans ce cas, camapp ne basculera pas, car l'équilibreur de charge est responsable du basculement. cam.serverURLDomaine,,cam.clusterHosts Comparez les domaines et détectez et contrôlez la présence ou l'absence d'équilibreurs de charge.

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 où enregistrer les pièces jointes téléchargées. Spécifiez un disque partagé accessible à partir de serveurs distribués.

* Lors de la spécification d'un disque partagé et de l'exécution du service Utilisateur du système d'exploitation exécutant le service WindowsDoit être spécifié
*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.videoDomaines

Paramètres de distribution du serveur vidéo. Si vous définissez cette option, lorsque le nombre total de participants dans les salles de l'ordre indiqué dépasse 50, la salle de conférence sera créée sur le serveur suivant.

cam.videoDomains=camserver1=50;camserver2=50;camserver3=50

・Peut être omis si cam.clusterHosts est défini
- Cette valeur n'indique pas le nombre maximal de connexions, mais constitue simplement une indication pour l'équilibrage de charge.

cam.disableLANNetwork

Les connexions TCP/UDP pour le LAN ne sont pas nécessaires dans une configuration redondante, veuillez donc les désactiver.

cam.disableLANNetwork=true

Autorisation de communication du pare-feu pour la synchronisation des données entre les serveurs

  1. Les mises à jour des données en temps réel (état de présence de l'utilisateur, messages, salons de discussion, etc.) sont synchronisées entre les serveurs CAM, une autorisation de communication entre les serveurs est donc requise à l'aide d'un pare-feu, etc.
  2. Ports TCP 9090, 9091 et 9092 pour l'accès au nœud maître de la base de données
  3. Port TCP 8080 pour l'URL de connexion de serveur à serveur
    • Défini dans le fichier ini cam.clusterHosts
    • Exemple) cam.clusterHosts=camserver1:8080;camserver2:8080;camserver3:8080

Détails des exigences relatives à l'équilibreur de charge

Nous décrirons les détails des exigences requises pour la configuration de Load Balancer.

L7/L4 est pris en charge, mais l'affinité de session est requise. Veuillez noter que L7 peut corriger les connexions session par session, tandis que L4 ne peut corriger les connexions que par IP. Cette section explique comment configurer L7.

1. Résiliation SSL

  1. Installez un certificat SSL sur l'équilibreur de charge et effectuez le déchiffrement SSL/TLS.
  2. La communication des clients est acceptée via HTTPS et HTTP est utilisé depuis l'équilibreur de charge vers le backend.

2. Algorithme d'équilibrage de charge

  1. Équilibrage de charge avec round robin
  2. La maintenance de session basée sur les cookies (affinité de session) est requise, et il est nécessaire de confirmer qu'elle dispose d'une fonction pour distribuer les accès du même Client au même nœud.

3. En-têtes et traitements supplémentaires transférés vers le serveur backend (8080)

X-Forwarded-Proto
Élément d'en-tête qui identifie la demande comme https lorsque LB la transmet au serveur backend

X-Forwarded-For
Un élément d'en-tête qui identifie l'adresse IP du client lorsque le LB la transmet au serveur backend.

Gestion de l'en-tête WebSocket Upgrade
Analyse les requêtes HTTP et détecte l'en-tête de mise à niveau, déclenche le commutateur TCP

Les équilibreurs de charge modernes (AWS/GCP/Azure) ont des paramètres standard par défaut.

4. Communication avec le serveur backend

La communication de l'équilibreur de charge vers chaque CAMServer est effectuée à l'aide des protocoles et ports suivants.

  • Protocole : HTTP
  • Numéro de port : 8080
  • Exemple de connexion : http://HOSTNAME:8080/

5. Bilan de santé

  1. L'équilibreur de charge demande périodiquement l'URL suivante et la détermine comme étant « normale » si les conditions sont remplies.
  2. URL du contrôle de santé : http://HOSTNAME:8080/CAMServer/healthCheck
  3. Conditions de vérification de l'état : code d'état HTTP : 200 corps de la réponse : {"status":200}
  • URLをコピーしました!
table des matières