Los balanceadores de cargas HTTP(S) externos abordan muchos casos prácticos. En esta página, se proporcionan algunos ejemplos de alto nivel.
Servicios web de tres niveles
Puedes usar el balanceo de cargas de HTTP(S) externo para servicios web tradicionales de tres niveles. En el siguiente ejemplo, se muestra cómo puedes usar tres tipos de balanceadores de cargas de Google Cloud para escalar en los tres niveles. En cada nivel el tipo de balanceador de cargas depende del tipo de tráfico:
-
Nivel web: el tráfico ingresa desde Internet y se balancea mediante un balanceador de cargas de HTTP(S) externo.
-
Nivel de la aplicación: el nivel de la aplicación se escala mediante un balanceador de cargas de HTTP(S) regional interno.
-
Nivel de la base de datos: el nivel de la base de datos se escala mediante un balanceador de cargas de TCP/UDP interno.
En el diagrama, se muestra cómo se mueve el tráfico por los niveles:
- Un balanceador de cargas de HTTP(S) externo (el asunto de esta descripción general) distribuye el tráfico desde Internet hasta un conjunto de grupos de instancias de frontend web en varias regiones.
- Estos frontends envían el tráfico de HTTP(S) a un conjunto de balanceadores de cargas de HTTP(S) internos y regionales. Para que el balanceador de cargas HTTP(S) externo reenvíe el tráfico a un balanceador de cargas HTTP(S) interno, el balanceador de cargas HTTP(S) externo debe tener instancias de backend con software de servidor web (como Netscaler o NGNIX) configurado para reenviar el tráfico al frontend del balanceador de cargas HTTP(S) interno.
- Los balanceadores de cargas de HTTP(S) internos distribuyen el tráfico a grupos de instancias de middleware.
- Estos grupos de instancias de middleware envían el tráfico a balanceadores de cargas de TCP/UDP internos, que balancean la carga del tráfico a los clústeres de almacenamiento de datos.
Balanceo de cargas multirregión
Cuando configuras un balanceador de cargas de HTTP(S) externo en el nivel Premium, se usa una dirección IP externa global y se pueden enrutar de forma inteligente las solicitudes de los usuarios al grupo de instancias de backend o NEG más cercano, según la proximidad. Por ejemplo, si configuras grupos de instancias en Norteamérica, Europa y Asia, y los conectas al servicio de backend de un balanceador de cargas, las solicitudes de usuarios de todo el mundo se envían de manera automática a las VM más cercanas a los usuarios, en caso de que las VM pasen las verificaciones de estado y tengan capacidad suficiente (definida por el modo de balanceo). Si las VM más cercanas están en mal estado, o si el grupo de instancias más cercano está al máximo de capacidad y otro grupo no, el balanceador de cargas envía solicitudes de manera automática a la siguiente región más cercana con capacidad.
Balanceo de cargas con enrutamiento de solicitudes
El balanceo de cargas HTTP(S) admite el enrutamiento de solicitudes mediante mapas de URL para seleccionar un servicio de backend según el nombre de host solicitado, la ruta de solicitud o ambos. Por ejemplo, puedes usar un conjunto de grupos de instancias o NEG para manejar el contenido de video y otro conjunto a fin de manejar todo lo demás.
También puedes usar el balanceo de cargas de HTTP(S) en depósitos de Cloud Storage. Una vez que configures el balanceador de cargas, podrás agregarle buckets de Cloud Storage.
Para obtener más información, consulta los conceptos de los mapas de URL.
Balanceo de cargas para aplicaciones de GKE
Si deseas exponer tus aplicaciones en GKE a la Internet, te recomendamos que uses la función integrada.Controlador de Ingress de GKE, que implementa balanceadores de cargas de Google Cloud en nombre de los usuarios de GKE. Esto es lo mismo que la arquitectura de balanceo de cargas independiente, excepto que su ciclo de vida está completamente automatizado y controlado por GKE.