gRPC is a open source high performance RPC (remote procedure call) framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services.
It enables client and server applications to communicate transparently, and simplifies the building of connected systems.
gRPC runtime is available in multiple programming languages. These languages include, C++, C#, Dart, Go, Java, Kotlin, Node, Objective-C, PHP, Python, Ruby and WebJS. Complete documentation of each language and tutorials are available here. The examples for all the C-based gRPC implementations is also available.
The core of the library is implemented in C and its functionality is available via a low level API to other programming languages. Libraries in other languages such as C++, C#, Ruby, Python, PHP, NodeJS, Objective-C are layered on top of this library.
gRPC is designed to work with a variety of authentication mechanisms, making it easy to safely use gRPC to talk to other systems. Supported Auth mechanisms are SSL/TLS, ALTS and Token-based authentication with Google.