gRPC è un framework RPC universale open source ad alte prestazioni, sviluppato da Google. In gRPC, un'applicazione client può chiamare direttamente metodi su un'applicazione server su un'altra macchina come se fosse un oggetto locale, semplificando la creazione di applicazioni e servizi distribuiti.
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 le funzionalità di gestione delle API di Endpoints per aggiungere una console API, monitoraggio, hosting, tracing, autenticazione e altro ancora ai tuoi servizi gRPC. Inoltre, una volta specificate regole di mappatura speciali, ESP ed ESPv2 traducono JSON RESTful su HTTP in richieste gRPC. Ciò significa che puoi eseguire il deployment di un server gRPC gestito da Endpoints e chiamare la relativa API utilizzando un client gRPC o JSON/HTTP, il che ti offre molta più flessibilità e facilità di integrazione con altri sistemi.

Puoi creare servizi gRPC per Endpoints in qualsiasi lingua supportata da gRPC. Puoi scoprire molto di più su gRPC, incluse guide rapide e tutorial per la creazione di server e client, sul sito gRPC.
Piattaforme di computing supportate
ESP ed ESPv2 sono progetti open source e sono disponibili nei seguenti modi:
- Un container in Artifact Registry.
- Consulta le note di rilascio di ESP per l'immagine Docker ESP corrente.
- Consulta le note di rilascio di ESPv2 per l'immagine Docker ESPv2 corrente.
- Codice sorgente in GitHub.
- Consulta il file README di ESP per informazioni dettagliate sulla creazione di ESP.
- Consulta il file README di ESPv2 per informazioni dettagliate sulla creazione di ESPv2.
Puoi eseguire il container ESP su:
- Compute Engine con Docker
- Kubernetes, incluso Google Kubernetes Engine
- Un computer Linux o macOS o un altro cloud provider
Puoi eseguire il container ESPv2 su:
- Cloud Run
- Knative serving
- GKE
- Compute Engine
- Kubernetes
Per saperne di più, consulta Informazioni su Cloud Endpoints.
Consulta Deployment del backend API per informazioni sul deployment dell'API e di Extensible Service Proxy sulle piattaforme di calcolo Google Cloud .
Definizione e configurazione del servizio
gRPC si basa sull'idea di definire un servizio, specificando i metodi che possono essere chiamati in remoto con i relativi parametri e tipi restituiti. Per impostazione predefinita, gRPC utilizza i protocol buffer come Interface Definition Language (IDL) per descrivere sia l'interfaccia del servizio sia 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 una configurazione del servizio insieme alla definizione del servizio. Questa configurazione definisce il comportamento di runtime del servizio, inclusi l'autenticazione, le API incluse nel servizio, i mapping dalle richieste HTTP ai metodi gRPC e le impostazioni speciali di Cloud Endpoints.
Transcodifica
Endpoints fornisce la traduzione del protocollo per i tuoi 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. Endpoints fornisce un meccanismo per mappare le richieste HTTP ai metodi gRPC nell'ambito della configurazione del servizio.
Per saperne di più, consulta la sezione 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 avviare un semplice servizio gRPC con Cloud Endpoints nell'ambiente che preferisci.
- Scopri come configurare un servizio gRPC per Cloud Endpoints
- Esplora i campioni. L'esempio getting-started-grpc è disponibile su GitHub nelle seguenti lingue:
- Il campione Libreria è disponibile nelle seguenti lingue: