Cloud Endpoints per gRPC

gRPC è una 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'uso di gRPC è per la documentazione; puoi utilizzare la configurazione del servizio e i file di definizione dell'interfaccia API per generare documentazione di riferimento per l'API. Consulta Panoramica del portale per gli sviluppatori per ulteriori informazioni.

Gestione delle API

Endpoints funziona con Extensible Service Proxy (ESP) o Extensible Service Proxy V2 (ESPv2) per fornire la gestione delle API.

Con Endpoints per gRPC, puoi utilizzare la gestione API funzionalità di Endpoints per l'aggiunta di una console API, hosting, tracciamento, autenticazione e altro ancora ai tuoi servizi gRPC. Inoltre, una volta specificate regole di mappatura speciali, ESP ed ESPv2 traducono JSON RESTful su HTTP nelle richieste gRPC. Ciò significa che puoi eseguire il deployment di un server gRPC gestito Endpoints e chiamare la relativa API utilizzando un client gRPC o JSON/HTTP, offrendoti maggiore flessibilità e facilità di integrazione con altri sistemi.

Servizio gRPC Endpoints

Puoi creare servizi gRPC per Endpoints 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.

Piattaforme di computing supportate

ESP ed ESPv2 sono progetti open source disponibili nei seguenti modi:

  • Un container in Google Container Registry.
  • Codice sorgente in GitHub.
    • Consulta la pagina ESP README per i dettagli sulla creazione di un ESP.
    • Vedi il file README di ESPv2 per i dettagli sulla creazione di ESPv2.

Puoi eseguire il container ESP su questi elementi:

Puoi eseguire il container ESPv2 su quanto segue:

  • Cloud Run
  • Knative serving
  • GKE
  • Compute Engine
  • Kubernetes

Per ulteriori informazioni, consulta Informazioni su Cloud Endpoints.

Consulta Deployment del backend delle API per informazioni sul deployment di API ed ESP sulle piattaforme di computing Google Cloud.

Definizione e configurazione del servizio

gRPC si basa sull'idea di definire un servizio, specificando i metodi che possono essere chiamate in remoto con i loro 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 Endpoints, devi fornire un'istanza configurazione del servizio insieme alla definizione del servizio. Questa operazione configura il runtime comportamento del servizio, inclusa l'autenticazione, le API incluse nei le mappature dalle richieste HTTP ai metodi gRPC e le applicazioni Impostazioni endpoint.

Transcodifica

Endpoints fornisce la traduzione del protocollo per i servizi gRPC consentendo ai client di utilizzare HTTP/JSON per comunicare con un servizio gRPC tramite ESP o ESPv2.

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

Puoi trovare ulteriori informazioni in merito in Transcodifica di HTTP/JSON in gRPC.

Limitazioni

Le seguenti funzionalità gRPC non sono ancora supportate in Endpoints:

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

Inoltre, Endpoints supporta solo i servizi gRPC per GKE, Compute Engine e Cloud Run (beta). Endpoints non supporta i servizi gRPC per gli ambienti App Engine.

Passaggi successivi

  • Segui uno dei nostri tutorial per configurare e utilizzare un semplice servizio gRPC con Cloud Endpoints nell'ambiente che preferisci
  • Scopri come configurare un servizio gRPC per Cloud Endpoints
  • Esplora gli esempi. L'esempio get-started-grpc è disponibile su GitHub nelle seguenti lingue:
  • L'anteprima della libreria è disponibile nelle seguenti lingue: