Conectividad con equilibrador de carga
A menudo, las implementaciones de aplicaciones emplean balanceadores de carga para evitar que las solicitudes abrumen a los servidores, es decir, evitar que los clientes accedan a los servidores directamente.
Note
Esta configuración es para balanceadores de carga que utilizan un enfoque de operación por turnos.
Importante:
Asegúrese de que las sesiones fijas no estén habilitadas en el equilibrador de carga.
En tales circunstancias, para garantizar que su cliente se conecte a todas las máquinas del clúster (lo cual es necesario tanto para el Particionado y Réplica de partición topologías), NCache ofrece el is-load-balancer
configuración.
Esta configuración funciona mediante el uso de múltiples solicitudes para establecer conexiones con todos los servidores deseados conectados al balanceador de carga. Por ejemplo, imagine que tiene un equilibrador de carga conectado a tres servidores donde NCache ya está conectado al servidor 1 y necesita estar conectado a los otros servidores, luego enviará solicitudes repetidas hasta que esté conectado al servidor 2 y al servidor 3 secuencialmente. Una vez establecida la primera conexión, el equilibrador de carga envía la segunda solicitud al servidor 2, NCache recibirá la ID del servidor y aceptará establecer una conexión antes de continuar, como se demuestra a continuación.
Sin embargo, si el equilibrador de carga envía la solicitud al servidor 3, NCache Rechazará la conexión y volverá a intentarlo, como se muestra a continuación. Este proceso continuará hasta que esté conectado a todos los servidores o hasta que se haya alcanzado el número especificado de reintentos (load-balancer-connection-retries
).
Note
El número predeterminado de load-balancer-connection-retries
is 15 y el número mínimo de reintentos es 2.
Importante:
El load-balancer-connection-retries
La etiqueta indica la frecuencia con la que se solicita al equilibrador de carga cada reintento de conexión regular (es decir, reintentos de conexión). Por lo tanto, si connection-retry= 3
y load-balancer-connection-retries= 15
, se solicitará al equilibrador de carga 15 veces por reintento, lo que suma un total de 45 solicitudes al equilibrador de carga para conectar el cliente a la máquina correcta.
Note
Todos los intentos de conexión se registran.
Configurar NCache para abordar el equilibrador de carga
Para habilitar esta bandera, puede editar el cliente.ncconf archivo (disponible en %NCHOME%\config
en Windows o opt/ncache/config
en Linux) configurando is-load-balancer
a Verdadero, de la siguiente manera:
<configuration>
<ncache-server connection-retries="3" retry-connection-delay="0" retry-interval="1" load-balancer-connection-retries = "15" command-retries="3" command-retry-interval="0.1" client-request-timeout="90" connection-timeout="5" port="9800" local-server-ip="20.200.20.40" enable-keep-alive="False" keep-alive-interval="30"/>
<cache id="demoCache" client-cache-id="" client-cache-syncmode="optimistic" skip-client-cache-if-unavailable="True" reconnect-client-cache-interval="10" default-readthru-provider="" default-writethru-provider="" load-balance="False" enable-client-logs="True" log-level="info">
<server name="20.200.20.40" is-load-balancer="True"/>
</cache>
</configuration>
Note
También puedes hacer esto mediante programación usando el API de opciones de conexión de caché.
Vea también
Topologías de caché
Clúster de caché
Cliente de caché
Caché de cliente
Puente para replicación WAN