gRPC supporto del protocollo
gRPC ( gRPC Remote Procedure Call) è un framework open source che consente alle applicazioni di comunicare in modo efficiente e affidabile. Consente di creare API compatte e ad alte prestazioni che riducono l'utilizzo della larghezza di banda, la latenza e supportano la comunicazione scalabile da servizio a servizio.
gRPC caratteristiche
-
Modello client-server: gRPC utilizza un'architettura client-server in cui il client invia una richiesta al server, che la elabora e restituisce una risposta. Questo modello supporta una comunicazione efficiente tra i servizi e semplifica l'integrazione tra i sistemi distribuiti.
-
Buffer di protocollo (Protobuf): gRPC utilizza i buffer di protocollo (protobuf) come linguaggio di definizione dell'interfaccia (IDL). Protobuf fornisce un meccanismo neutro dal punto di vista del linguaggio e della piattaforma per la serializzazione dei dati strutturati, consentendo contratti fortemente tipizzati tra client e server e migliorando l'efficienza della trasmissione dei dati.
-
HTTP/2: gRPC viene eseguito su HTTP/2, che fornisce multiplexing (richieste multiple su una singola connessione), trasferimento di dati binari, compressione delle intestazioni e supporto integrato per lo streaming. Lo streaming consente a client e server di inviare o ricevere dati in modo continuo senza aprire più connessioni, supportando sia grandi insiemi di dati che comunicazioni in tempo reale.
-
Multipiattaforma e multilingue: gRPC supporta diversi linguaggi di programmazione, come Java, C++, Python, Go, Ruby, Node.js, e molti altri. Questa versatilità lo rende ideale per costruire sistemi in cui i servizi sono scritti in lingue diverse.
CIS supporta il protocollo gRPC per qualsiasi endpoint proxy gRPC. Per attivare o disattivare il supporto gRPC, passare alla sezione Affidabilità, selezionare la scheda Avanzate e attivare l'interruttore gRPC.
Prima di abilitare il supporto di gRPC, assicurarsi che l'endpoint soddisfi i seguenti requisiti:
- L'endpoint gRPC deve ascoltare sulla porta
443e supportare TLS e HTTP/2. - HTTP/2 devono essere pubblicizzati tramite Application-Layer Protocol Negotiation (ALPN).
- gRPC le richieste devono utilizzare l'intestazione content-type
application/grpcoapplication/grpc+<message type>.