RPC

Remote Procedure Call - call a method from a remote service and get the corresponding response.

Features:

Aspect HTTP-Oriented Protocol REST API gRPC Thrift
Transport Layer HTTP/HTTPS HTTP/HTTPS HTTP/2 Flexible (HTTP, TCP)
Data Format JSON, XML JSON, XML Protobuf (binary) Binary, JSON
Schema Optional Optional Required (Protobuf) Required (IDL)
Streaming Support No No Yes (bidirectional) Limited
Ease of Use High High Moderate Moderate
Performance Moderate Moderate High (binary) High (binary)
Language Support Broad Broad Broad Very Broad
Best Use Case General APIs Public APIs Microservices Cross-language RPC