
Member-only story
What is gRPC?
gRPC (Google Remote Procedure Call) is a high-performance, open-source framework developed by Google for building distributed systems and services that can communicate with each other. With a client-server architecture, gRPC enables applications built in many languages to communicate with one another. You can find the project code in Github at this Link.
Background
In order to connect the numerous microservices operating both inside and outside of its data centers, Google developed a general-purpose RPC infrastructure known as Stubby in 2001. Google made the decision to develop the next iteration of Stubby and release it as open source in March 2015 and gRPC was the end outcome.
The Remote Procedure Call (RPC) concept, on which gRPC is based, uses procedures as addressable entities and conceals the data behind them. On the other hand, the resources as data entities are addressable for REST and the behaviors are concealed behind the data.
gRPC uses HTTP 2.0 as its underlying transport protocol to implement RPC APIs. No one needs to worry about how RPC concepts are converted to HTTP because gRPC-generated stubs and skeletons hide HTTP from both the client and the server.