Modello di app web a tre livelli

Questa guida ti aiuta a comprendere il modello di applicazione app web a tre livelli, che ti consente di eseguire rapidamente il deployment di uno stack di applicazioni web a tre livelli suGoogle Cloud.

L'app web a tre livelli include quanto segue:

  • Bilanciatori del carico facoltativi che gestiscono:
    • Traffico in entrata.
    • Distribuzione del traffico al servizio frontend.
  • App containerizzate di cui viene eseguito il deployment come servizi serverless:
    • Un frontend basato sul web.
    • Un livello API nel livello intermedio.
  • Un backend del database SQL.
  • Una cache in memoria che gestisce i dati a cui si accede di frequente.

Prodotti utilizzati

L'applicazione contiene i seguenti prodotti Google Cloud :

  • Cloud Load Balancing (facoltativo): un servizio che fornisce un bilanciamento del carico scalabile e ad alte prestazioni su Google Cloud.
  • Cloud Run: un servizio completamente gestito che ti consente di creare ed eseguire il deployment di app containerizzate serverless.Google Cloud gestisce lo scaling e altre attività dell'infrastruttura in modo che tu possa concentrarti sulla logica di business del tuo codice.
  • Cloud SQL: un database PostgreSQL completamente gestito in Google Cloud. In questo modo, non dovrai occuparti delle attività di amministrazione del database e avrai più tempo per gestire i tuoi dati.
  • Memorystore for Redis: un servizio che fornisce la memorizzazione nella cache delle applicazioni utilizzando un servizio in memoria scalabile, sicuro e ad alta disponibilità per Redis. In questo modo puoi fornire accesso a bassa latenza e throughput elevato per i dati a cui si accede di frequente.

Architettura

La seguente immagine mostra i componenti e le connessioni nell'applicazione:

Un'applicazione web a tre livelli nel canvas di progettazione. L'applicazione include componenti frontend, backend e database.

Di seguito è riportato il flusso di elaborazione delle richieste dell'applicazione:

  1. Un frontend di Cloud Load Balancing riceve le richieste esterne e distribuisce il traffico al backend di Cloud Load Balancing.
  2. Il backend di Cloud Load Balancing distribuisce il traffico al servizio Cloud Run.
  3. Un servizio frontend Cloud Run basato sul web esegue il rendering di un client HTML nel browser dell'utente.
  4. Il servizio frontend invia richieste a un livello API, di cui è stato eseguito il deployment come servizio Cloud Run.
  5. Memorystore for Redis memorizza nella cache e gestisce i dati letti di frequente.
  6. Il livello API invia le richieste che non può gestire dalla cache Redis in memoria a un database Cloud SQL.

Passaggi successivi