15%

Ahorra 15%<\/span> en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código:

Skills
Comenzar
23.10.2024

Balanceo de Carga con Servidores Dedicados: Arquitectura, Algoritmos e Implementación en el Mundo Real

El balanceo de carga es el proceso de distribuir el tráfico de red entrante entre múltiples servidores para que ningún nodo individual se convierta en un cuello de botella, garantizando un rendimiento consistente, tolerancia a fallos y escalabilidad horizontal. En un entorno de servidor dedicado, un balanceador de carga se sitúa frente a su grupo de servidores y toma decisiones de enrutamiento en tiempo real basadas en el estado del servidor, las conexiones activas, la latencia de respuesta o reglas de política personalizadas.

Para cualquier infraestructura que ejecute cargas de trabajo sensibles a la latencia — plataformas de comercio electrónico, aplicaciones SaaS, APIs de alto tráfico o transmisión de medios — el balanceo de carga no es opcional. Es la base arquitectónica que separa una configuración frágil con punto único de fallo de un sistema resiliente y listo para producción.

Cómo funciona realmente el balanceo de carga: el flujo técnico

Comprender el balanceo de carga requiere entender el ciclo de vida completo de una solicitud, no solo el concepto abstracto de “distribuir tráfico”.

El pipeline de enrutamiento de solicitudes

  1. La resolución DNS apunta al cliente hacia la dirección IP del balanceador de carga (o una IP virtual en una configuración anycast), no hacia ningún servidor individual.
  2. El balanceador de carga recibe la conexión en la Capa 4 (TCP/UDP) o la Capa 7 (HTTP/HTTPS) del modelo OSI.
  3. El balanceador evalúa su tabla de enrutamiento, aplica el algoritmo configurado y comprueba el estado de salud actual de cada nodo backend.
  4. La solicitud se reenvía al servidor backend seleccionado. Dependiendo del modo (NAT, Direct Server Return o tunelización IP), la ruta de respuesta puede o no pasar por el balanceador.
  5. Los demonios de comprobación de estado se ejecutan en paralelo, sondeando continuamente cada backend mediante ping TCP, códigos de estado HTTP o scripts personalizados. Un nodo con fallos se elimina del grupo en cuestión de segundos.

Balanceo de carga en Capa 4 vs. Capa 7

Esta distinción es una de las decisiones arquitectónicas más importantes que tomará.

CaracterísticaCapa 4 (Transporte)Capa 7 (Aplicación)
Opera sobrePaquetes TCP/UDPSolicitudes HTTP/HTTPS, cabeceras, cookies
Lógica de enrutamientoDirección IP + puertoRuta URL, nombre de host, valor de cookie, contenido de cabecera
Terminación SSLNo (paso directo)Sí (descarga TLS de los backends)
Enrutamiento basado en contenidoNo es posibleSoporte completo (enrutar /api/ de forma diferente a /static/)
Sobrecarga de rendimientoMuy bajaModerada (requiere inspección profunda de paquetes)
Casos de uso típicosServicios TCP sin procesar, bases de datos, servidores de juegosAplicaciones web, REST APIs, microservicios
Software de ejemploHAProxy (modo TCP), LVS/IPVSNGINX, HAProxy (modo HTTP), Traefik, Envoy
Persistencia de sesiónHash de IP de origenInyección de cookies, afinidad basada en cabeceras

Para la mayoría de las aplicaciones web alojadas en Servidores Dedicados, la Capa 7 es la opción correcta porque permite el enrutamiento inteligente, la descarga SSL y comprobaciones de estado granulares basadas en códigos de respuesta HTTP en lugar de conectividad TCP sin procesar.

Algoritmos de balanceo de carga: elegir la estrategia correcta

El algoritmo determina qué servidor backend recibe cada solicitud entrante. Elegir el incorrecto para su perfil de carga de trabajo es una fuente común de utilización desigual de recursos.

Round Robin

Las solicitudes se distribuyen secuencialmente entre todos los nodos saludables. Simple y eficaz cuando todos los servidores tienen especificaciones de hardware idénticas y los tiempos de procesamiento de solicitudes son aproximadamente iguales.

Inconveniente: Si una solicitud tarda 10 segundos y la siguiente tarda 10 milisegundos, round robin no tiene en cuenta esta disparidad. Un backend lento acumula una cola mientras los demás permanecen inactivos.

Weighted Round Robin

A cada servidor se le asigna un peso numérico. Un servidor con peso 3 recibe tres veces más solicitudes que uno con peso 1. Utilice esto cuando su grupo contenga hardware heterogéneo — por ejemplo, combinando un nodo de 32 núcleos con uno de 16 núcleos.

Least Connections

El balanceador rastrea el número de conexiones activas a cada backend y enruta las nuevas solicitudes al servidor con menos conexiones abiertas. Este es el algoritmo predeterminado más apropiado para cargas de trabajo con duraciones de solicitud variables, como aplicaciones web respaldadas por bases de datos.

Least Response Time

Una extensión de least connections que también tiene en cuenta la latencia medida del backend. El servidor con la combinación más baja de conexiones activas y tiempo de respuesta promedio gana. Esto requiere que el balanceador mantenga métricas de latencia, lo que añade una sobrecarga menor pero mejora significativamente la calidad de distribución bajo carga mixta.

IP Hash (afinidad de origen)

La dirección IP de origen del cliente se hashea para seleccionar determinísticamente un backend. El mismo cliente siempre llega al mismo servidor, siempre que la composición del grupo no cambie. Esto proporciona una forma primitiva de persistencia de sesión sin requerir almacenamiento de sesión compartido.

Caso límite crítico: Si una gran parte de su tráfico se origina detrás de un NAT corporativo o la pasarela de un operador móvil, miles de usuarios pueden compartir una única IP de origen, causando un desequilibrio severo. Audite siempre la distribución de su tráfico antes de depender de IP hash en producción.

Random with Two Choices (Power of Two)

El balanceador selecciona aleatoriamente dos servidores candidatos y enruta al que tiene menos conexiones activas. Este enfoque probabilístico escala extremadamente bien en grupos grandes (50+ nodos) porque evita la sobrecarga de coordinación de un escaneo global de least-connections mientras sigue evitando el peor desequilibrio de la selección puramente aleatoria.

Persistencia de sesión: cuando sin estado no es una opción

Muchas aplicaciones heredadas almacenan el estado de sesión localmente en el servidor (por ejemplo, $_SESSION de PHP escritos en disco). En estos casos, enrutar a un usuario que regresa a un backend diferente provoca una pérdida de sesión, que se manifiesta como cierres de sesión inesperados o pérdida de datos del carrito de compras.

Los balanceadores de carga resuelven esto con sesiones pegajosas (sticky sessions), implementadas mediante:

  • Inserción de cookies: El balanceador inyecta una cookie (p. ej., SERVERID=node2) en la respuesta HTTP. Las solicitudes posteriores de ese cliente llevan la cookie, y el balanceador la lee para enrutar de vuelta al mismo nodo.
  • Afinidad de IP de origen: Como se describe anteriormente, menos fiable pero no requiere soporte de cookies de la aplicación.

La solución correcta a largo plazo es externalizar el almacenamiento de sesión a un backend compartido — Redis o Memcached — para que cualquier nodo backend pueda atender a cualquier usuario. Esto elimina completamente la dependencia de las sticky sessions y hace que su grupo sea totalmente sin estado, lo que simplifica enormemente el escalado y la conmutación por error. Si está construyendo una nueva aplicación, diseñe para backends sin estado desde el primer día.

Comprobaciones de estado: el mecanismo detrás de la conmutación por error automática

Un balanceador de carga es tan fiable como su configuración de comprobaciones de estado. Las comprobaciones de estado mal configuradas son responsables de una proporción significativa de incidentes reales con balanceadores de carga.

Tipos de comprobaciones de estado

  • Comprobación TCP: Abre una conexión TCP al puerto del backend. Confirma que el proceso está escuchando pero no verifica la corrección a nivel de aplicación.
  • Comprobación HTTP/HTTPS: Envía una solicitud HTTP a un endpoint definido (p. ej., /health) y espera un código de estado específico (típicamente 200 OK). Este es el estándar mínimo aceptable para aplicaciones web.
  • Comprobación con script personalizado: Ejecuta un script arbitrario que puede consultar una base de datos, comprobar el espacio en disco o validar el estado de la aplicación. Devuelve 0 si está saludable, distinto de cero si no lo está.

Parámetros de configuración críticos

  • interval: Con qué frecuencia se ejecuta la comprobación (p. ej., cada 5 segundos).
  • timeout: Cuánto tiempo esperar una respuesta antes de marcar la comprobación como fallida.
  • rise: Número de comprobaciones exitosas consecutivas necesarias para marcar un nodo como saludable (evita el flapping).
  • fall: Número de comprobaciones fallidas consecutivas necesarias para eliminar un nodo del grupo.

Una configuración de producción común para HAProxy tiene este aspecto:

backend web_servers
    balance leastconn
    option httpchk GET /health HTTP/1.1rnHost: example.com
    http-check expect status 200
    default-server inter 5s fall 3 rise 2 slowstart 60s
    server node1 192.168.1.10:80 check weight 10
    server node2 192.168.1.11:80 check weight 10
    server node3 192.168.1.12:80 check weight 5

La directiva slowstart 60s es particularmente valiosa: aumenta gradualmente el tráfico hacia un nodo recién recuperado durante 60 segundos en lugar de enviarle inmediatamente la carga completa, evitando un problema de thundering herd cuando un backend vuelve a estar en línea tras un mantenimiento.

Terminación SSL y descarga TLS

Gestionar el cifrado y descifrado TLS es computacionalmente costoso. En una configuración básica, cada servidor backend realiza este trabajo de forma independiente. La terminación SSL en el balanceador de carga significa que el balanceador descifra el tráfico HTTPS entrante y reenvía HTTP sin cifrar a los backends a través de una red interna de confianza.

Beneficios:

  • Reduce la carga de CPU en los servidores backend, liberando ciclos para la lógica de la aplicación.
  • Centraliza la gestión de certificados — renueve un certificado en el balanceador en lugar de en cada nodo.
  • Permite la inspección de Capa 7 del contenido de las solicitudes (imposible con paso cifrado directo).

Consideración de seguridad: El tráfico entre el balanceador de carga y los backends viaja sin cifrar. Esto es aceptable cuando todos los nodos están en una VLAN privada aislada o una red de gestión dedicada. Si sus requisitos de cumplimiento (PCI-DSS, HIPAA) exigen cifrado de extremo a extremo, utilice re-cifrado SSL: el balanceador termina la sesión TLS del cliente y establece una nueva sesión TLS con cada backend. Esto mantiene el cifrado completo mientras sigue permitiendo el enrutamiento de Capa 7.

Combinar la terminación SSL con Certificados SSL correctamente emitidos garantiza que su infraestructura con balanceo de carga cumpla tanto los requisitos de rendimiento como los de cumplimiento normativo.

Alta disponibilidad para el propio balanceador de carga

Un balanceador de carga que es en sí mismo un punto único de fallo anula el propósito de toda la arquitectura. Los despliegues en producción requieren un par de balanceadores de carga de alta disponibilidad.

Activo-Pasivo con VRRP/Keepalived

Dos nodos balanceadores de carga comparten una IP Virtual (VIP). El nodo activo mantiene la VIP y procesa todo el tráfico. El nodo pasivo monitoriza el nodo activo mediante heartbeat. Si el nodo activo falla, keepalived activa una conmutación por error VRRP y el nodo pasivo reclama la VIP en 1–3 segundos.

# Install keepalived on both load balancer nodes (Debian/Ubuntu)
apt-get install keepalived

# /etc/keepalived/keepalived.conf on the MASTER node
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass securepassword
    }
    virtual_ipaddress {
        203.0.113.10/24
    }
}

En el nodo de respaldo, establezca state BACKUP y priority 90. El nodo con mayor prioridad gana la elección de VIP.

Activo-Activo con DNS Round Robin o Anycast

Ambos nodos balanceadores de carga procesan tráfico activamente de forma simultánea. El DNS devuelve múltiples registros A, distribuyendo los clientes entre ambos balanceadores. Esto duplica la capacidad de rendimiento pero requiere una sincronización de estado cuidadosa si utiliza sticky sessions.

Para despliegues a gran escala en Servidores Dedicados, una configuración activo-activo con enrutamiento BGP anycast proporciona el mayor rendimiento y redundancia geográfica.

Mitigación de DDoS en la capa del balanceador de carga

Un balanceador de carga posicionado en el perímetro de la red es un lugar natural para implementar la depuración de tráfico y la limitación de velocidad antes de que las solicitudes maliciosas lleguen a sus servidores de aplicaciones.

Limitación de velocidad de conexión (HAProxy)

frontend http_in
    bind *:80
    bind *:443 ssl crt /etc/haproxy/certs/
    stick-table type ip size 100k expire 30s store conn_rate(3s),http_req_rate(10s)
    tcp-request connection track-sc0 src
    tcp-request connection reject if { sc_conn_rate(0) gt 100 }
    http-request deny if { sc_http_req_rate(0) gt 300 }

Esta configuración rastrea las tasas de conexión por IP de origen en una tabla stick y rechaza a los clientes que superan 100 nuevas conexiones TCP por 3 segundos o 300 solicitudes HTTP por 10 segundos — umbrales que bloquean la mayoría de los ataques de inundación HTTP volumétricos mientras permiten el tráfico legítimo en ráfagas.

Protección contra inundaciones SYN

Active las cookies SYN a nivel de kernel en sus nodos balanceadores de carga para gestionar ataques de inundación SYN sin agotar la tabla de conexiones:

sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=4096
sysctl -w net.ipv4.tcp_synack_retries=2

Haga estos cambios persistentes añadiéndolos a /etc/sysctl.conf.

NGINX como balanceador de carga de Capa 7: configuración de producción

NGINX es una opción ampliamente utilizada para el balanceo de carga HTTP, especialmente cuando se necesita una integración estrecha con características a nivel de aplicación.

upstream backend_pool {
    least_conn;
    keepalive 32;

    server 192.168.1.10:8080 weight=3 max_fails=3 fail_timeout=30s;
    server 192.168.1.11:8080 weight=3 max_fails=3 fail_timeout=30s;
    server 192.168.1.12:8080 weight=1 max_fails=3 fail_timeout=30s;
    server 192.168.1.13:8080 backup;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate     /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    location / {
        proxy_pass         http://backend_pool;
        proxy_http_version 1.1;
        proxy_set_header   Connection "";
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_connect_timeout 5s;
        proxy_read_timeout    60s;
        proxy_next_upstream   error timeout http_502 http_503;
    }
}

Detalles clave en esta configuración:

  • keepalive 32 mantiene conexiones persistentes a los backends, eliminando la sobrecarga del handshake TCP para solicitudes de alta frecuencia.
  • proxy_next_upstream reintenta automáticamente las solicitudes fallidas en el siguiente backend saludable.
  • La directiva backup designa node4 como un servidor de reserva que solo recibe tráfico cuando todos los nodos primarios no están disponibles.
  • X-Forwarded-For garantiza que las aplicaciones backend vean la IP real del cliente en lugar de la IP del balanceador.

Comparación de opciones de software para balanceadores de carga

SoftwareCapaRendimientoTerminación SSLComprobaciones de estado activasFacilidad de configuraciónMejor para
HAProxyL4 + L7Extremadamente altoSí (avanzado)ModeradaTCP/HTTP de alto tráfico, ACLs detalladas
NGINXL7 (L4 en módulo stream)Muy altoBásico (NGINX Plus para avanzado)FácilProxy web/API, servidor web integrado
TraefikL7AltoSí (Let’s Encrypt automático)Muy fácilEntornos en contenedores, Kubernetes
EnvoyL7Muy altoSí (comprobaciones de estado gRPC)ComplejaService mesh, microservicios
LVS/IPVSL4A nivel de kernel, máximoNoMediante KeepalivedComplejaRendimiento bruto, escenarios de bypass de kernel
AWS ALB/NLBL7/L4GestionadoFácil (gestionado)Cloud nativo, sin autogestión

Para Servidores Dedicados autogestionados, HAProxy y NGINX cubren la gran mayoría de los casos de uso en producción. Traefik es la opción pragmática para cargas de trabajo en Docker Swarm o Kubernetes debido a su descubrimiento automático de servicios.

Arquitectura del mundo real: plataforma de comercio electrónico bajo carga máxima

Considere un escenario concreto: una plataforma de comercio electrónico que espera 50.000 usuarios concurrentes durante un evento promocional.

Distribución de la infraestructura:

  • 2x nodos HAProxy en configuración activo-pasivo compartiendo una VIP (mediante Keepalived)
  • 6x servidores de aplicaciones ejecutando el nivel web
  • 2x servidores de base de datos dedicados (no en el grupo del balanceador de carga — utilizan su propia replicación)
  • 1x clúster Redis para almacenamiento de sesión compartido (eliminando la dependencia de sticky sessions)
  • NFS compartido o almacenamiento de objetos para activos subidos por usuarios

Flujo de tráfico:

  1. El DNS del cliente resuelve a la VIP mantenida por el nodo HAProxy activo.
  2. HAProxy aplica el algoritmo leastconn, distribuyendo las solicitudes entre 6 servidores de aplicaciones.
  3. Cada servidor de aplicaciones lee/escribe datos de sesión desde Redis — no se requiere afinidad de sesión.
  4. Los activos estáticos se sirven directamente desde el almacenamiento de objetos a través de un CDN, evitando completamente el balanceador de carga y reduciendo su carga en un 60–70%.
  5. Si la comprobación de estado de un servidor de aplicaciones falla tres veces consecutivas, HAProxy lo elimina del grupo en 15 segundos. Los 5 servidores restantes absorben su tráfico.
  6. Si el nodo HAProxy activo falla, Keepalived transfiere la VIP al nodo pasivo en 2 segundos — transparente para todos los clientes.

Esta arquitectura gestiona el pico promocional sin que ningún componente individual se convierta en un cuello de botella, y escala horizontalmente añadiendo más servidores de aplicaciones al grupo HAProxy sin tiempo de inactividad.

Si está ejecutando cargas de trabajo de inferencia aceleradas por GPU detrás de un balanceador de carga — por ejemplo, distribuyendo solicitudes de servicio de modelos ML — se aplican los mismos principios, pero las comprobaciones de estado del backend deben validar la disponibilidad de la GPU y el espacio en VRAM, no solo la accesibilidad HTTP. La infraestructura de GPU Hosting se beneficia significativamente del balanceo least-response-time debido a la alta varianza en la latencia de inferencia entre diferentes tipos de solicitudes.

Monitorización de una infraestructura con balanceo de carga

Desplegar un balanceador de carga sin observabilidad es operar a ciegas. Estas son las métricas que importan:

  • Conexiones activas por backend: Revela desequilibrios en el algoritmo de distribución o concentración de sticky sessions.
  • Tasa de solicitudes (RPS) por backend: Debe ser proporcional a los pesos del servidor.
  • Tiempo de respuesta del backend (p50, p95, p99): Los picos de latencia p99 en un nodo indican un problema antes de que se activen las comprobaciones de estado.
  • Tasa de fallos en comprobaciones de estado: Un backend que oscila entre saludable y no saludable (flapping) indica una inestabilidad subyacente que necesita investigación.
  • Profundidad de la cola de conexiones: Si la cola del balanceador crece, su grupo de backends es insuficiente para el tráfico actual.
  • Tasa de handshakes SSL: Las tasas elevadas indican un posible ataque de agotamiento TLS o un cliente mal configurado que reintenta agresivamente.

HAProxy expone una página de estadísticas (actívela con stats enable en el frontend) y un socket Unix para consultas programáticas. Alimente estas métricas en Prometheus mediante haproxy_exporter y visualícelas en Grafana para una pila de observabilidad completa.

Lista de verificación práctica para la toma de decisiones

Utilice esta matriz antes de desplegar o modificar una arquitectura con balanceo de carga:

  • ¿Aplicación con estado? Migre el almacenamiento de sesión a Redis o Memcached antes de habilitar el balanceo de carga. No dependa de las sticky sessions como solución permanente.
  • ¿Se requiere TLS? Termine SSL en el balanceador de carga. Asegúrese de que la red backend esté aislada. Obtenga y gestione certificados de forma centralizada mediante Certificados SSL.
  • ¿Duración de solicitud variable? Utilice leastconn, no round robin.
  • ¿Hardware heterogéneo? Aplique valores weight proporcionales a la capacidad del servidor.
  • ¿Alta disponibilidad del balanceador de carga? Despliegue dos nodos balanceadores con Keepalived/VRRP. Nunca ejecute un único balanceador de carga en producción.
  • ¿Exposición a DDoS? Implemente limitación de velocidad de conexión y protección con cookies SYN en las capas del kernel y del balanceador.
  • ¿Profundidad de la comprobación de estado? Utilice comprobaciones HTTP contra un endpoint dedicado /health que valide la conectividad de la base de datos, no solo la disponibilidad del puerto TCP.
  • ¿Plan de escalado? Añadir un nuevo nodo backend a un grupo HAProxy o NGINX requiere una recarga de configuración (haproxy -sf $(cat /var/run/haproxy.pid) para recarga sin tiempo de inactividad) — planifique su proceso de gestión de cambios en consecuencia.
  • ¿Monitorización? Instrumente HAProxy o NGINX con exportadores de Prometheus antes de la puesta en marcha, no después de un incidente.
  • ¿Preferencia de panel de control? Si prefiere la gestión de servidores basada en GUI junto con la configuración manual del balanceador de carga, evalúe los Paneles de Control VPS para tareas administrativas en nodos individuales.

Preguntas frecuentes

¿Cuál es la diferencia entre un balanceador de carga y un proxy inverso?

Un proxy inverso reenvía las solicitudes de los clientes a uno o más servidores backend y devuelve la respuesta al cliente — gestiona el enrutamiento, el almacenamiento en caché y la terminación SSL. Un balanceador de carga es un tipo específico de proxy inverso cuya función principal es distribuir las solicitudes entre múltiples backends utilizando un algoritmo definido. Todos los balanceadores de carga son proxies inversos, pero no todos los proxies inversos realizan balanceo de carga.

¿Puede funcionar el balanceo de carga con un único servidor dedicado?

Técnicamente sí — puede ejecutar un balanceador de carga frente a un único servidor para terminación SSL, almacenamiento en caché y limitación de velocidad. Sin embargo, los beneficios de tolerancia a fallos y escalado horizontal solo se materializan con dos o más nodos backend. Una configuración de servidor único detrás de un balanceador de carga es una arquitectura de transición válida que hace que el escalado futuro sea operativamente trivial.

¿Cómo gestiona un balanceador de carga las conexiones WebSocket?

Los WebSockets requieren conexiones TCP persistentes y de larga duración. Los balanceadores de carga de Capa 7 deben configurarse explícitamente para gestionar el handshake de actualización HTTP y luego mantener la afinidad de conexión durante toda la sesión WebSocket. En NGINX, establezca proxy_http_version 1.1 y proxy_set_header Upgrade $http_upgrade con proxy_set_header Connection "upgrade". En HAProxy, utilice option http-server-close y configure valores de tiempo de espera apropiados (timeout tunnel 1h para conexiones de larga duración).

¿Qué ocurre con las solicitudes en curso cuando falla un servidor backend?

Con proxy_next_upstream en NGINX o retries en HAProxy, el balanceador detecta un error de conexión o tiempo de espera en el primer intento e inmediatamente reintenta la solicitud en el siguiente backend saludable. Este reintento es transparente para el cliente. Las solicitudes idempotentes (GET, HEAD) son seguras para reintentar automáticamente. Las solicitudes no idempotentes (POST, PUT) deben reintentarse con precaución — configure proxy_next_upstream para excluir http_500 en rutas POST para evitar el doble procesamiento de un pago o envío de formulario.

¿Cuántos servidores backend se necesitan antes de que el balanceo de carga proporcione un beneficio significativo?

Dos servidores proporcionan capacidad de conmutación por error inmediata y aproximadamente el doble de capacidad. Tres o más servidores proporcionan una distribución estadística significativa y permiten el mantenimiento continuo (desconectar un nodo para actualizaciones mientras los demás absorben el tráfico). Para cargas de trabajo en producción, tres nodos es el mínimo práctico para un grupo resiliente — dos nodos significa que un único fallo reduce su capacidad en un 50%, lo que puede incumplir su SLA de rendimiento bajo carga máxima.

15%

Ahorra 15%<\/span> en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código:

Skills
Comenzar