Panoramica di gRPC

gRPC è un framework RPC universale open source ad alte prestazioni sviluppato da Google. In gRPC, un'applicazione client può chiamare direttamente su un'applicazione server su una macchina diversa, come se fosse una , semplificando la creazione di applicazioni e servizi distribuiti.

Uno dei principali vantaggi dell'utilizzo di gRPC è la documentazione. Puoi utilizzare i file di configurazione del servizio e di definizione dell'interfaccia API per generare la documentazione di riferimento per la tua API.

Gestione delle API

Con API Gateway per gRPC, puoi utilizzare la gestione API di API Gateway per aggiungere il monitoraggio, Hosting, tracciamento, autenticazione e altro ancora ai tuoi servizi gRPC su Cloud Run. Inoltre, una volta specificate regole di mappatura speciali, API Gateway converte il formato JSON RESTful su HTTP nelle richieste gRPC. Ciò significa che puoi eseguire il deployment di un server gRPC gestito API Gateway e chiamare la relativa API utilizzando un client gRPC o JSON/HTTP offrendoti maggiore flessibilità e facilità di integrazione con altri sistemi.

Puoi creare servizi gRPC per API Gateway in qualsiasi lingua supportata da gRPC. Puoi trovare molte altre informazioni su gRPC, incluse le guide rapide e i tutorial per la creazione di server e client, sito gRPC.

Definizione e configurazione del servizio

gRPC si basa sull'idea di definire un servizio, specificando i metodi che possono essere chiamati da remoto con i relativi parametri e tipi di ritorno. Per impostazione predefinita, gRPC utilizza buffer di protocollo come Interface Definition Language (IDL) per descrivere sia il servizio e la struttura dei messaggi di payload.

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings
message HelloReply {
  string message = 1;
}

Per utilizzare gRPC con API Gateway, devi fornire un configurazione del servizio insieme alla definizione del servizio. Questa operazione configura il runtime comportamento del servizio, inclusa l'autenticazione, le API incluse nei servizio, mappature dalle richieste HTTP ai metodi gRPC e impostazioni speciali di API Gateway.

Transcodifica

API Gateway fornisce la traduzione del protocollo per i tuoi servizi gRPC su Cloud Run consentendo ai client di utilizzare HTTP/JSON per comunicare con un servizio gRPC attraverso API Gateway.

Il caso d'uso più comune è consentire ai client del browser di comunicare con i server gRPC senza il supporto speciale delle librerie client gRPC. Gateway API fornisce un meccanismo per mappare le richieste HTTP ai metodi gRPC nell'ambito della configurazione del servizio.

Scopri di più in Transcodifica di HTTP/JSON in gRPC.

Limitazioni

Le seguenti funzionalità gRPC non sono ancora supportate in API Gateway:

  • Compressione del payload
  • Qualsiasi IDL diverso dai buffer di protocollo

API Gateway supporta solo Cloud Run servizi gRPC.

Passaggi successivi

  • Esplora i campioni. L'esempio getting-started-grpc è disponibile su GitHub nelle seguenti lingue:
  • L'esempio di libreria è disponibile nelle seguenti lingue: