Modelo de app Web de três camadas

Este guia ajuda a compreender o modelo de aplicação app Web de três camadas, que ajuda a implementar rapidamente uma pilha de aplicações Web de três camadas noGoogle Cloud.

A app Web de três camadas inclui o seguinte:

  • Equilibradores de carga opcionais que processam:
    • Tráfego recebido.
    • Distribuição de tráfego para o seu serviço de front-end.
  • Apps contentorizadas implementadas como serviços sem servidor:
    • Uma interface baseada na Web.
    • Uma camada de API no nível intermédio.
  • Um back-end de base de dados SQL.
  • Uma cache na memória que disponibiliza dados acedidos com frequência.

Produtos usados

A aplicação contém os seguintes Google Cloud produtos:

  • Cloud Load Balancing (opcional): um serviço que oferece balanceamento de carga escalável e de alto desempenho no Google Cloud.
  • Cloud Run: um serviço totalmente gerido que lhe permite criar e implementar apps contentorizadas sem servidor. Google Cloud Gere o dimensionamento e outras tarefas de infraestrutura para que se possa concentrar na lógica empresarial do seu código.
  • Cloud SQL: uma base de dados PostgreSQL totalmente gerida no Google Cloud. Isto liberta-o das tarefas de administração da base de dados para que tenha mais tempo para gerir os seus dados.
  • Memorystore for Redis: um serviço que fornece colocação em cache de aplicações através de um serviço na memória escalável, seguro e altamente disponível para o Redis. Isto ajuda a oferecer acesso de baixa latência e elevado débito para dados com acesso frequente.

Arquitetura

A imagem seguinte mostra os componentes e as ligações na aplicação:

Uma aplicação Web de três camadas na tela de design. A aplicação inclui componentes de front-end, back-end e base de dados.

Segue-se o fluxo de processamento de pedidos da aplicação:

  1. Uma interface do Cloud Load Balancing recebe pedidos externos e distribui o tráfego para o back-end do Cloud Load Balancing.
  2. O back-end do Cloud Load Balancing distribui o tráfego para o serviço do Cloud Run.
  3. Um serviço de frontend do Cloud Run baseado na Web renderiza um cliente HTML no navegador do utilizador.
  4. O serviço de front-end envia pedidos para uma camada de API, que também é implementada como um serviço do Cloud Run.
  5. O Memorystore for Redis armazena em cache e disponibiliza dados lidos com frequência.
  6. A camada da API envia pedidos que não consegue publicar a partir da cache Redis na memória para uma base de dados do Cloud SQL.

O que se segue?