Category Microservices

gRPC: synchronous and asynchronous Server streaming RPC

gRPC, one of the most popular RPC frameworks for inter-process microservices communication, supports both unary and streaming RPC. Contrary to unary RPC, in gRPC streaming RPC, a client sends a single request, and in return, the server sends a stream of messages. In this article, we will see how to implement server streaming RPC and how to handle errors in streaming response.

gRPC: synchronous and asynchronous unary RPC in Java

Photo by Ramón Salinero on Unsplash
gRPC, a remote procedure call (RPC) framework, is used for inter microservices communication. The gRPC supports both unary RPC and streaming RPC. In gRPC unary RPC, a client sends a single request and receives a single response. Additionally, an RPC in gRPC can be synchronous or asynchronous. In synchronous RPC, a client call waits for the server to respond. As the name suggests, in asynchronous RPC the server returns the response asynchronously.

gRPC for microservices communication

Microservices inter-process communication using gRPC
A microservices-based software system requires applications to talk to each other using an inter-process communication mechanism. gRPC is a modern inter-process communication system that is scalable and more efficient than the traditional RESTful services.