Timeline
Chat
Prospettiva

GRPC

framework multipiattaforma per le RPC (chiamate di procedura remota) Da Wikipedia, l'enciclopedia libera

Remove ads

gRPC (gRPC Remote Procedure Calls[1]) è un framework multipiattaforma ad alte prestazioni per chiamate di procedura remota (RPC).

gRPC venne inizialmente creato da Google, ma è open source e viene utilizzato in molte organizzazioni. I casi d'uso spaziano dai microservizi all'"ultimo miglio" dell'informatica (dispositivi mobili, web e Internet delle cose). gRPC utilizza HTTP/2 per il trasporto, Protocol Buffers come linguaggio di descrizione dell'interfaccia (IDL) e fornisce funzionalità quali autenticazione, streaming bidirezionale e controllo del flusso, associazioni bloccanti o non bloccanti, annullamento e timeout. Genera associazioni tra client e server multipiattaforma per molti linguaggi. Gli scenari di utilizzo più comuni includono la connessione di servizi in un'architettura in stile microservizi o la connessione di client di dispositivi mobili a servizi backend.[2]

L'utilizzo di HTTP/2 da parte di gRPC è considerato complesso. Rende impossibile implementare un client gRPC nel browser, richiedendo invece un proxy.[3]

Remove ads

Storia

A partire dal 2001 circa, Google ha creato un'infrastruttura RPC di uso generale chiamata Stubby per connettere il gran numero di microservizi in esecuzione all'interno e tra i suoi centri elaborazione dati.[4] Nel marzo 2015, Google ha deciso di realizzare la versione successiva di Stubby e di renderla open source. Il risultato è stato gRPC.

Autenticazione

gRPC supporta l'utilizzo del protocollo crittografico Transport Layer Security (TLS) e l'autenticazione basata su token. La connessione ai servizi Google deve utilizzare TLS. Esistono due tipi di credenziali: credenziali di canale e credenziali di chiamata.

Per l'autorizzazione basata su token, gRPC fornisce un Server Interceptor[5] e un Client Interceptor.[6]

Codifica

gRPC utilizza i Protocol Buffers per codificare i dati. I buffer di protocollo forniscono un formato di serializzazione e un linguaggio di definizione dell'interfaccia (IDL).[7]

Testing

Alcuni degli strumenti software utilizzati per testare le implementazioni gRPC includono Postman, ezy,[8] Insomnia e Step CI.[9]

Adozione

Molte organizzazioni utilizzano gRPC, tra cui Uber,[10] Square, Netflix, IBM, CoreOS, Docker, CockroachDB, Arista Networks, Cisco, Juniper Networks,[11] Spotify,[12] Zalando,[13] Dropbox,[14] e Google come sviluppatore originale.

Il progetto open source u-bmc utilizza gRPC per sostituire l'Intelligent Platform Management Interface (IPMI).[15] L'8 gennaio 2019, Dropbox ha annunciato che la prossima versione di "Courier", il loro framework RPC al centro della loro architettura orientata ai servizi (SOA), sarebbe stata migrata per essere basata su gRPC, principalmente perché si allineava bene con i loro framework RPC personalizzati esistenti.[16]

Remove ads

Note

Voci correlate

Collegamenti esterni

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads