Os balanceadores de carga HTTP(S) externos abordam muitos casos de uso. Esta página fornece alguns exemplos detalhados.
Serviços da Web de três camadas
É possível usar balanceamento de carga HTTP(S) externo para dar suporte a serviços da Web de três camadas tradicionais. O exemplo a seguir mostra como é possível usar três tipos de balanceadores de carga do Google Cloud para escalonar três camadas. Em cada camada, o tipo do balanceador de carga depende do seu tipo de tráfego:
-
Camada da Web: o tráfego da Internet entra e sua carga é balanceada usando um balanceador de carga HTTP(S) externo.
-
Camada do aplicativo: a camada do aplicativo é escalonada usando um balanceador de carga HTTP(S) interno regional.
-
Camada do banco de dados: é escalonada usando um balanceador de carga TCP/UDP interno.
O diagrama mostra como o tráfego passa pelas camadas:
- Um balanceador de carga HTTP(S) externo (objeto desta visão geral) distribui o tráfego da Internet para um grupo de instâncias de front-end da Web em várias regiões.
- Esses front-ends da Web enviam o tráfego HTTP(S) para um conjunto de balanceadores de carga HTTP(S) regionais internos. Para que o balanceador de carga HTTP(S) externo encaminhe o tráfego para um balanceador de carga HTTP(S) interno, ele precisa ter instâncias de back-end com o software servidor da Web (como Netscaler ou NGINX) configurado para encaminhar o tráfego ao front-end do balanceador de carga HTTP(S) interno.
- Os balanceadores de carga HTTP(S) internos distribuem o tráfego para grupos de instâncias de middleware.
- Esses grupos de instâncias de middleware enviam o tráfego para balanceadores de carga TCP/UDP internos, que balanceiam a carga do tráfego para clusters de armazenamento de dados.
Roteamento baseado na camada 7 para camadas internas em um app de várias camadas
Balanceamento de carga multirregional
Ao configurar o balanceamento de carga HTTP(S) no nível Premium, ele usa um endereço IP externo global e pode encaminhar solicitações de usuários de maneira inteligente para o grupo de instâncias de back-end ou NEG mais próximo, com base na proximidade. Por exemplo, se você configurar grupos de instâncias na América do Norte, Europa e Ásia e anexá-los ao serviço de back-end de um balanceador de carga, as solicitações de usuários do mundo inteiro serão enviadas automaticamente para as VMs mais próximas dos usuários, supondo que as VMs sejam aprovadas nas verificações de integridade e tenham capacidade suficiente (definida pelo modo de balanceamento). Se todas as VMs mais próximas não estiverem íntegras ou se o grupo de instâncias mais próximo estiver no limite da capacidade e outro não estiver no limite, o balanceador de carga enviará automaticamente as solicitações para a região seguinte mais próxima com capacidade.
Balanceamento de carga com roteamento de solicitação
O balanceamento de carga HTTP(S) é compatível com o roteamento de solicitações usando mapas de URL para selecionar um serviço de back-end com base no nome do host solicitado, no caminho da solicitação ou em ambos. Por exemplo, você pode usar um conjunto de grupos de instâncias ou NEGs para processar seu conteúdo de vídeo e outro conjunto para processar o restante.
Também é possível usar balanceadores de carga HTTP(S) externos com buckets do Cloud Storage. Depois de configurar o balanceador de carga, é possível adicionar buckets do Cloud Storage a ele.
Para mais informações, consulte Conceitos do mapa de URL.
Balanceamento de carga para aplicativos do GKE
Se você quiser expor seus aplicativos no GKE à Internet, recomendamos que use o Controlador de entrada do GKE, que implanta balanceadores de carga do Google Cloud em nome de usuários do GKE. Isso é o mesmo que a arquitetura de balanceamento de carga independente, exceto pelo fato de o ciclo de vida dela ser totalmente automatizado e controlado pelo GKE.