gRPC Use Cases
gRPC can be used for the following use cases
Microservices: gRPC is designed for low latency and high throughput communication. As discussed above, it works very well for microservices where efficiency and latency are critical.
Point-to-point real-time communication: gRPC has excellent support for bi-directional streaming. gRPC services can push messages in real-time without polling.
Polyglot environments: gRPC tooling supports all popular development languages, making gRPC a good choice for multi-language environments.
Low-power low-bandwidth networks: gRPC messages are serialized with Protobuf, a lightweight message format. A gRPC message is always smaller than an equivalent JSON message.
Inter-process communication (IPC): IPC transports such as Unix domain sockets and named pipes can be used with gRPC to communicate between apps on the same machine.
https://medium.com/javarevisited/microservices-communication-using-grpc-protocol-dc3a2f8b648d