gRPC is primarily used with backend services.
▪ 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 that gRPC can push
messages in real time and requires to support for bi-directional
streaming.
▪ Network constrained environments which requires less bandwith
usage cases, binary gRPC messages are always smaller than textbased JSON message.
https://medium.com/@sankar.p/how-grpc-convinced-me-to-chose-it-over-rest-30408bf42794