Remote Procedure Calls

  • Although REST APIs are very popular for interconnection between IT systems, it does impose restrictions such as CRUD over HTTP and statelessness.

  • RPC on the other hand provides the freedom to create your own semantics which is essential to a domain-driven design.

  • RPC is still very much a one-to-one communication model although an RPC server stub may be implemented to issue a fan-out request to multiple server instances. But then, the implementer is then left with the burden of discovering, identifying and naming each of those instances. Solutions like Envoy try to solve this problem to a limited extent.