GRPC

gRPC, også kjent som Google Remote Procedure Calls, er et system for eksterne prosedyrekall bygd på åpen kildekode. gRPC ble opprinnelig utviklet av Google i 2015 som en videreutvikling av deres egen RPC-infrastruktur brukt internt under navnet Stubby. gPRC ble lansert i 2016. Den bruker HTTP/2 for transport, Protocol Buffers som beskrivelsesspråk for grensesnittet, og gir funksjoner som autentisering, toveisstrømming og flytkontroll, blokkerende eller ikke-blokkerende bindinger, samt kansellering og tidsavbrudd. Den lager kryssplattform-bindinger mellom klient/tjener for mange språk. De vanligste bruksscenariene inkluderer tilkobling av tjenester i en mikrotjenestearkitektur eller kobling av mobilklienter til backend-tjenester.

gRPC sin komplekse bruk av HTTP/2 gjør det umulig å implementere en gRPC-klient i nettleseren, og krever istedet en mellomtjener.

Autentisering

gRPC støtter bruk av TLS og tokenbasert autentisering. Tilkobling til Google-tjenester må bruke TLS. Det finnes to typer legitimasjon: kanal-legitimasjon og kall-legitimasjon (henholdsvis channel credentials og call credentials).

Enkoding

gRPC bruker Protocol Buffers for å enkode data. I motsetning til REST API-er med JSON har gRPC en strengere spesifikasjon. På grunn av at man har en enkelt spesifikasjon å forholde seg til eliminerer gRPC diskusjoner og sparer utviklingstid ettersom gRPC er konsekvent på tvers av plattformer og implementeringer.

Adopsjon

En rekke ulike organisasjoner har tatt i bruk gRPC, for eksempel Uber, Square, Netflix, IBM, CoreOS, Docker, CockroachDB, Cisco, Juniper Networks, Spotify, Zalando og Dropbox.

Åpen kildekode-prosjektet u-bmc bruker gRPC for å erstatte Intelligent Platform Management Interface (IPMI). Den 8. januar 2019 annonserte Dropbox at den neste versjonen RPC-rammeverket deres "Courier", som ligger i kjernen av deres tjenesteorienterte arkitektur, ville migreres over til å være basert på gRPC, først og fremst fordi det passer bra med deres eksisterende spesialtilpassede RPC-rammeverk.

Se også

Referanser

  1. ↑ «FAQ». gRPC.
  2. ↑ «FAQ».
  3. ↑ «gRPC: a true internet-scale RPC framework is now 1.0 and ready for production deployments | Google Cloud Blog».
  4. ↑ «Introducing gRPC, a new open source HTTP/2 RPC Framework».
  5. 1 2 «About gRPC». Besøkt 25. mai 2021.
  6. ↑ «The state of gRPC in the browser».
  7. ↑ «gRPC». Besøkt 24. februar 2020.
  8. ↑ JamesNK. «Compare gRPC services with HTTP APIs». Besøkt 24. februar 2020.
  9. ↑ «gRPC at Uber». Arkivert fra originalen 19. juli 2022. Besøkt 24. mars 2022.
  10. ↑ «gRPC». Besøkt 24. februar 2020.
  11. ↑ «gRPC at Spotify» (PDF). Besøkt 12. mai 2020.
  12. ↑ «Zalando Tech Radar». Besøkt 8. april 2021.
  13. ↑ «How we migrated Dropbox from Nginx to Envoy». Besøkt 30. oktober 2020.
  14. ↑ «u-bmc».
  15. ↑ Nigmatullin, Ruslan. «Courier: Dropbox migration to gRPC». Besøkt 9. januar 2019.