Developer(s) | |
---|---|
Initial release | August 2016 |
Stable release | 1.65.0[1]
/ June 28, 2024 |
Repository | |
Written in | Android Java, C#, C++, Dart, Go, Java, Kotlin/JVM, Node.js, Objective-C, PHP, Python, Ruby |
Type | Remote procedure call framework |
License | Apache License 2.0 |
Website | grpc |
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]
As of 2019, gRPC's use of HTTP/2 makes it impossible to implement a gRPC client in a browser, instead requiring a proxy.[4]