gRPC can be use different use cases: Synchronous backend microservice-to-microservice communication where an immediate sync response is required to continue processing.
Polyglot environments that need to support mixed programming platforms.
Low latency and high throughput communication where performance is critical.
Point-to-point real-time communication - gRPC can push messages in real time without polling and has excellent support for bi-directional streaming.
Network constrained environments – binary gRPC messages are always smaller than an equivalent text-based JSON message.