Flexible Load Balancer de Oracle Cloud Infrastructure (OCI) es un servicio nativo en la nube de alta disponibilidad para distribuir automáticamente las conexiones entrantes de aplicaciones, desde internet e internamente, a varios recursos informáticos para la resiliencia y el rendimiento. Los equilibradores de carga pueden distribuir el tráfico entre varios dominios de errores, dominios de disponibilidad y regiones de OCI en función de las características de persistencia, solicitud y URL.
En esta imagen, se muestran tres casos de uso comunes en los que se detalla cómo los clientes pueden utilizar los equilibradores de carga flexibles. Estos casos de uso son:
En el primero de tres casos de uso, se muestra una red virtual en la nube. Contiene un equilibrador de carga flexible que está conectado bidireccionalmente a dos máquinas virtuales, que están en la misma red virtual en la nube.
El equilibrador de carga está conectado bidireccionalmente a un usuario externo fuera de la red virtual en la nube.
Las solicitudes provienen del usuario externo al equilibrador de carga, que puede enviar la solicitud a cualquier máquina virtual. Esto permite que la aplicación admita más usuarios de los que puede manejar una sola máquina virtual.
En el segundo de los tres casos de uso, se muestra una red virtual en la nube. Contiene un equilibrador de carga flexible. En la misma red virtual en la nube, hay dos grupos. Cada grupo tiene una máquina virtual y una base de datos. Representan dos instancias de una aplicación heredada no nativa de la nube.
El equilibrador de carga está conectado bidireccionalmente a cada grupo.
Las solicitudes provienen de los usuarios al equilibrador de carga, que puede enviar la solicitud a cualquiera de las aplicaciones heredadas. Esto permite que una aplicación heredada admita más usuarios de lo normal mediante la distribución de solicitudes de usuario a varias instancias de la aplicación heredada.
En el último de los tres casos de uso, se muestra una red virtual en la nube. Contiene un equilibrador de carga flexible que está conectado bidireccionalmente a tres máquinas virtuales.
Las solicitudes se envían a la primera máquina virtual según los valores de la cabecera HTTP de la solicitud.
Las solicitudes se envían a la segunda máquina virtual según los valores del nombre de host virtual de la solicitud.
Las solicitudes se envían a la tercera máquina virtual según los valores de la URL de la solicitud.
Esto permite que las solicitudes se dirijan a un recurso diferente según los valores relacionados con HTTP en la propia solicitud.
Un equilibrador de carga mejora el uso de los recursos dirigiendo las solicitudes entre los servicios de aplicaciones que funcionan en paralelo. A medida que aumenta la demanda, se puede aumentar el número de servicios de aplicación y el equilibrador de carga los utilizará para equilibrar el procesamiento de las solicitudes.
Las aplicaciones heredadas que son monolíticas suelen escalar ejecutándose en hardware más grande. Mediante el uso de equilibradores de carga, se pueden ejecutar en paralelo varias instancias más pequeñas pero sin dejar de presentar un único punto de entrada. Para los recursos de aplicaciones heredados y nativos en la nube, el equilibrador de carga dejará de utilizar recursos de backend que no respondan y dirigirá las solicitudes a recursos en buen estado.
Los servicios de aplicaciones pueden vivir en varias ubicaciones, incluidas OCI, locales y otras nubes. Un equilibrador de carga proporciona un punto de entrada único y cómodo, y puede dirigir solicitudes al backend adecuado, que puede estar en OCI, en el entorno local o en otras nubes.
OCI Flexible Load Balancer es compatible con solicitudes web (HTTP, HTTPS) y tráfico de capa de aplicación mediante TCP. Un equilibrador de carga público acepta tráfico de internet, mientras que un equilibrador de carga privado no lo acepta.
Un equilibrador de carga tiene oyentes que aceptan un único tipo de solicitud (HTTP, HTTPS, TCP). Es compatible con varios oyentes para aceptar varios flujos.
Los equilibradores de carga son servicios regionales. Cada equilibrador de carga tiene dos dispositivos de equilibrador de carga que proporcionan capacidad de conmutación por error. En una región con varios dominios de disponibilidad, los dispositivos se distribuirán automáticamente entre dos de los dominios de disponibilidad.
Define uno o más conjuntos de backend y, a continuación, incluye recursos informáticos como servidores de backend en estos conjuntos. A continuación, puedes definir comprobaciones del sistema para que el equilibrador de carga pueda determinar si un recurso informático está en funcionamiento o se debe excluir.
La persistencia de sesiones está disponible, lo que ayuda a garantizar que las solicitudes de un cliente concreto siempre vayan al mismo recurso informático.
Las solicitudes se dirigen a los recursos informáticos en función de una de las múltiples estrategias de enrutamiento, como la menor carga.
Opcionalmente, puedes definir políticas de enrutamiento basadas en la cabecera HTTP o la URL para dirigir más solicitudes a recursos informáticos específicos.
En esta imagen, se muestra un diseño lógico de recursos y conexiones en una arquitectura típica de equilibrador de carga flexible.
Se muestra una región de OCI. Dentro de la región hay tres dominios de disponibilidad independientes, uno, dos y tres.
Una red virtual en la nube se cruza e incluye los tres dominios de disponibilidad. La red virtual en la nube también incluye un gateway de internet que está conectado bidireccionalmente a internet.
En el primer dominio de disponibilidad, se encuentra la primera subred. Contiene el equilibrador de carga flexible principal.
En el segundo dominio de disponibilidad, se encuentra la segunda subred. Contiene el equilibrador de carga de conmutación por error.
Entre los dos dominios de disponibilidad y las subredes hay un oyente con una dirección IP pública. El oyente está conectado bidireccionalmente al gateway de internet. Puede recibir solicitudes de internet.
El oyente forma parte de un grupo que incluye tanto el equilibrador de carga flexible principal como de conmutación por error. Este grupo actúa como un equilibrador de carga lógico que sigue funcionando, incluso si falla el componente del equilibrador de carga principal.
Hay tres subredes más, una en cada dominio de disponibilidad. Están numerados como tres, cuatro y cinco. Cada subred tiene recursos informáticos.
El equilibrador de carga principal está conectado bidireccionalmente a las subredes tres, cuatro y cinco. El equilibrador de carga de conmutación por error está conectado bidireccionalmente a las subredes tres, cuatro y cinco.
Las solicitudes llegan de internet al oyente y se envían al equilibrador de carga principal. A continuación, el equilibrador de carga enruta la solicitud a una de las subredes con recursos basados en pesos o características HTTP.
Esta arquitectura de referencia muestra una aplicación web de alta disponibilidad que se ejecuta en OCI mediante equilibradores de carga.
Esta arquitectura de referencia muestra cómo implantar la arquitectura DevOps moderna mediante equilibradores de carga.
Esta arquitectura de referencia utiliza servicios nativos de supervisión y notificación de OCI para responder a las condiciones de umbral del equilibrador de carga, llamar a Oracle Functions para evaluar la condición y utilizar reglas de redirección para reenviar mensajes de error personalizados almacenados en OCI Object Storage.
Crea, comprueba e implementa aplicaciones en Oracle Cloud de forma gratuita. Regístrate una vez y obtén acceso a dos ofertas gratuitas.
¿Te gustaría obtener más información sobre Oracle Cloud Infrastructure? Permite que uno de nuestros expertos te ayude.