Contract-first API development, using Protocol Buffers by default, allowing for language agnostic implementations.
Tooling available for many languages to generate strongly-typed servers and clients.
Supports client, server, and bi-directional streaming calls.
Reduced network usage with Protobuf binary serialization.
These benefits make gRPC ideal for:
Lightweight microservices where efficiency is critical (e.g. controlling lab automation instruments as part of an integrated system).
Polyglot systems where multiple languages are required for development (Lab automation integration software can be written in any language).
Point-to-point real-time services that need to handle streaming requests or responses (e.g. instrument control commands and responses, status requests, data extraction, etc).