À 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.* 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
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
Détails des exigences relatives à l'équilibreur de charge
Nous décrirons les détails des exigences requises pour la configuration de Load Balancer.
1. Résiliation SSL
- Installez un certificat SSL sur l'équilibreur de charge et effectuez le déchiffrement SSL/TLS.
- 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
- Équilibrage de charge avec round robin
- 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
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é
- L'équilibreur de charge demande périodiquement l'URL suivante et la détermine comme étant « normale » si les conditions sont remplies.
- URL de vérification de l'état : http://HOSTNAME:8080/CAMServer/healthcheck
- Conditions de vérification de l'état : code d'état HTTP : 200 corps de la réponse : {"status":200}
6. Autorisation de communication pour la synchronisation des données entre les serveurs
- 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.
- L'URL de connexion de serveur à serveur est définie dans cam.clusterHosts dans le fichier ini.
- Exemple) cam.clusterHosts=camserver1:8080;camserver2:8080;camserver3:8080
*Si les informations utilisateur sont mises à jour sur camserver1, connectez-vous à l'URL ci-dessous et synchronisez les données.
http://camserver2:8080/CAMServer/syncWebSocketData
http://camserver3:8080/CAMServer/syncWebSocketData