MENÚ

Redundancia/equilibrio de carga de CAMServer

Tabla de contenido

Acerca de la redundancia y el equilibrio de carga

Con el plan Ultimate de CAMServer,Muy fácil en un entorno localSe puede realizar redundancia de servidor web y servidor de vídeo y equilibrio de carga. Esto permite que los servicios continúen incluso si un servidor deja de funcionar, e incluso cuando lo utilizan una gran cantidad de usuarios, es posible distribuir el procesamiento y proporcionar servicios sin degradar el rendimiento.

configuración distribuida CAMServer Sin embargo, la comunicación en tiempo real es posible. Por ejemplo,CAMServidor1 Un Cliente conectado aCAMServer2 Puede chatear o tener una conferencia web con otro Cliente conectado a . El equilibrio de carga del servidor de vídeo se realiza en función de la cantidad de reuniones activas y la cantidad de usuarios participantes.

El número de conferencias web simultáneas es simplementeCAMServerEsto no se puede lograr simplemente aumentando el número de nodos. También es necesario considerar la configuración de la red para que todas las reuniones no se transmitan a través de la misma VPN o enrutador central.

Configuración de redundancia/distribución de carga

Puede configurar el entorno óptimo según el nivel de solicitud y el costo de su empresa.

Configuración de inicio pequeña

  • Almacenamiento:Coloque DB/File en el lado CAMServer1 y haga referencia a él también desde CAMServer2. Incluso en este caso, todos los usuarios pueden compartir datos en tiempo real.
  • respaldo: Es necesario realizar una copia de seguridad de los datos de la base de datos/archivo en CAMServer2 todos los días.
  • distribución de la carga: La distribución de carga es posible dividiendo el CAMServer al que se accede por departamento (o convirtiéndolo en un sistema de reserva).
  • disponibilidad: Cuando ocurre una falla,Versión de la aplicación web Si utiliza cam.clusterHostsDetección y conmutación por error automática. En caso de falla del discorespaldoestaba hechoDatos garantizados hasta el día anterior.
  • costo:La configuración más barata. Puede comenzar con una configuración de una sola unidad y ampliarla según la carga.

Configuración de almacenamiento externo (NAS)

  • Almacenamiento: Coloque la base de datos/archivo en un NAS de almacenamiento externo de alta durabilidad en una configuración RAID y consulte CAMServer1 y CAMServer2.
  • respaldo: Incluso con una configuración RAID, es necesario realizar una copia de seguridad de los datos de la base de datos/archivos todos los días para tener en cuenta fallas en la fuente de alimentación/carcasa y fallas humanas.
  • distribución de la carga: Igual que la configuración de inicio pequeña.
  • disponibilidad: Igual que la configuración de inicio pequeña.
  • costo: Configuración relativamente económica.

Configuración de almacenamiento externo redundante

  1. Almacenamiento: Una configuración que enfatiza la alta disponibilidad contra fallas de disco mediante el uso de servidores redundantes para compartir archivos (Windows Server Failover Clustering +SAN, AWS S3, etc.).
  2. respaldo: Los datos se replican automáticamente, por lo que no se requieren copias de seguridad según la política. Sin embargo, si está considerando una falla humana (como borrar manualmente el disco), aún necesitará una copia de seguridad.
  3. distribución de la carga: Igual que la configuración de inicio pequeña.
  4. disponibilidad:El servidor web es el mismo que el de la configuración de inicio pequeña. La conmutación automática es posible incluso en caso de fallo debido a un fallo del disco o de la carcasa.
  5. costo:El costo de introducción es alto. AWS S3 se puede construir de forma económica, pero no es una opción si su prioridad es el entorno local.

Configuración del equilibrador de carga

  • Almacenamiento: Se puede seleccionar una configuración de inicio pequeña/NAS/SAN.
  • respaldo: Igual que la configuración de inicio pequeña/NAS/SAN.
  • distribución de la carga:Al colocar Load Balancer delante de CAMServer, es posible la redundancia y distribución de carga.* Load Balancer 構成の要件詳細も確認してください。
  • disponibilidad: La conmutación por error automática es posible para todas las capas cuando se combina con una configuración de almacenamiento externo redundante.
  • costo:El costo de introducción es alto.

Configuración de redundancia/equilibrio de carga

Configuraciones comunes para cada servidor distribuido

Para admitir la redundancia y el equilibrio de carga de CAMServer, instale CAMServer en cada servidor distribuido,CAMServer/cam.ini Agregue la siguiente entrada al archivo.

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

cam.clusterHosts

cam.clusterHosts es el nombre de host de cada servidor distribuido. ; Enumerar separados por. nombre de host del lado del cliente https://nombre de host/ debe ser accesible.

cam.clusterHosts=camserver1;camserver2 

Si desea separar CAMServers para cada departamento, escriba el nombre del host al principio del archivo ini de cada CAMServer. El orden de enumeración se ve afectado al seleccionar el servidor de conexión inicial y el servidor de vídeo al inicio. TambiénVersión de la aplicación web Al utilizar , es posible una conexión de conmutación por error en caso de fallo.

cam.clusterHostsDesc

cam.clusterHostsDesc Puede cambiar el comentario en el campo de descripción del servidor distribuido.

cam.serverDatePath

cam.serverDatePath Especifica la base de datos donde guardar los archivos adjuntos cargados. Especifique un disco compartido, como un NAS, al que se pueda acceder desde servidores distribuidos.
*Si no hay un disco compartido, el CAMServer secundario es el CAMServer principal. Servidor CAM/config El almacenamiento también se puede compartir especificando una carpeta.

cam.enabledSingleProcessingHost

cam.enabledSingleProcessingHost Especifique el nombre de host del primer servidor enumerado en cam.clusterHosts. Los procesos que solo se pueden ejecutar en un único host, como el procesamiento por lotes, se configuran para ejecutarse después de determinar si el host está definido en cam.enabledSingleProcessingHost.

Establecer solo el subservidor

cam.disableLANNetwork=verdadero Puede desactivar las conexiones TCP/UDP para LAN configurando . Realice esta configuración para el segundo y subsiguientes subCAMServers.

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をコピーしました!
Tabla de contenido