At Revinate, we’ve recently adopted gRPC as the preferred communication mechanism between our microservices. Based on Protocol Buffers and HTTP/2, gRPC offers a number of advantages over our previous approaches to microservice communication. The contract-first approach of defining Protocol Buffer messages and gRPC services makes it easy to write tests and verify service behavior. The bidirectional