GRPC

gRPC
Developer(s)Google
Initial releaseAugust 2016; 8 years ago (2016-08)
Stable release
1.65.0[1] / June 28, 2024; 2 months ago (2024-06-28)
Repository
Written inAndroid Java, C#, C++, Dart, Go, Java, Kotlin/JVM, Node.js, Objective-C, PHP, Python, Ruby
TypeRemote procedure call framework
LicenseApache License 2.0
Websitegrpc.io

gRPC (gRPC Remote Procedure Calls[2]) is a cross-platform high-performance remote procedure call (RPC) framework. gRPC was initially created by Google, but is open source and is used in many organizations. Use cases range from microservices to the "last mile" of computing (mobile, web, and Internet of Things). gRPC uses HTTP/2 for transport, Protocol Buffers as the interface description language, and provides features such as authentication, bidirectional streaming and flow control, blocking or nonblocking bindings, and cancellation and timeouts. It generates cross-platform client and server bindings for many languages. Most common usage scenarios include connecting services in a microservices style architecture, or connecting mobile device clients to backend services.[3]

gRPC's use of HTTP/2 is considered complex. It makes it impossible to implement a gRPC client in the browser, instead requiring a proxy.[4]

  1. ^ "gRPC releases". GitHub. Retrieved 2024-07-06.
  2. ^ "FAQ". gRPC.
  3. ^ "About gRPC". gRPC. Retrieved 2021-05-25.
  4. ^ "The state of gRPC in the browser". gRPC. 8 January 2019.