gRPC

Wikipediasta
Siirry navigaatioon Siirry hakuun

gRPC (gRPC Remote Procedure Calls[1]) on Googlen kehittämä ohjelmistokehys etäproseduurikutsuille. Google julkaisi gRPC:n avoimena lähdekoodina vuonna 2015 BSD-lisenssillä.[2] gRPC toimii HTTP/2-protokollan päällä. Käyttökohteena ovat esimerkiksi mobiilisovellukset, jotka haluavat pilvipalvelun tekevän jotain.[1][3] gRPC on käytettävissä useilla ohjelmointikielillä ja useilla eri alustoilla.[4] Vuonna 2017 gRPC liitettiin Linux Foundationin Cloud Native Computing Foundationin (CNCF) projekteihin.[5]

gRPC:ssä tietorakenteet määritellään proto-tiedostoihin Protocol Buffersin kanssa. Tietorakenteet kuvataan viesteinä, ja käännetään proto-tiedoista halutuille ohjelmointikielille. Ohjelmointikieltä varten tehdään yksinkertaiset metodit, joilla viestien kenttiä käsitellään.[6] Myös gRPC:n kautta käytetyt palvelut ja metodien parametrit (käytetyt viestit) määritellään proto-tiedostoissa.[6]

Protocol Buffers[muokkaa | muokkaa wikitekstiä]

Oletuksena gRPC käyttää Googlen kehittämää Protocol Buffersia tiedon serialisointiin, mutta ei ole sidottu sen käyttöön. Protocol Buffers on Googlen kehittämä kielestä riippumaton tiedonvälitysmuoto, joka on JSONin kaltainen, mutta yksinkertaisempi ja tarkoitettu kielinatiiviin sidontaan.[6][7][8]

Protocol Buffersilla määritellään rajapinta, joka käännetään tuetulle kielelle. Tuettuja kieliä ovat muun muassa C++, C#, Dart, Go, Java, Kotlin, Objective-C, Python ja Ruby.[9] Protocol Buffersia käytetään Googlella monissa projekteissa, jotka ovat myös avointa lähdekoodia ja siksi myös Protocol Buffers on julkaistu.[10]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. a b FAQ grpc.io. Viitattu 25.3.2024. (englanniksi)
  2. Introducing gRPC, a new open source HTTP/2 RPC Framework developers.googleblog.com. 26.2.2015. Viitattu 25.3.2024. (englanniksi)
  3. Road to gRPC blog.cloudflare.com. 26.10.2020. Viitattu 25.3.2024. (englanniksi)
  4. Varun Talwar: gRPC: a true internet-scale RPC framework is now 1.0 and ready for production deployments cloud.google.com. 24.8.2016. Viitattu 25.3.2024. (englanniksi)
  5. This Week in Open Source, CNCF Announces 6th Managed Project, Changes in OSS Accelerate SDN & More linuxfoundation.jp. 3.3.2017. Viitattu 25.3.2024. (englanniksi)
  6. a b c Introduction to gRPC grpc.io. Viitattu 26.3.2024. (englanniksi)
  7. Overview protobuf.dev. Viitattu 26.3.2024. (englanniksi)
  8. protocolbuffers / protobuf github.com. Viitattu 26.3.2024. (englanniksi)
  9. Protocol Buffers protobuf.dev. Viitattu 26.3.2024. (englanniksi)
  10. History protobuf.dev. Viitattu 26.3.2024. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]