4 ms·
RPC is a fundamentally broken concept because it relies on both server and client being synchronized, which is brittle and requires whole system upgrades. Prot
by rswail 4y ago
RPC is a fundamentally broken concept because it relies on both server and client being synchronized, which is brittle and requires whole system upgrades.
Protobufs and things like optional fields etc help, but not that much.
One of the problems is that RPC is procedural and treats the data as parameters to the function.
REST says that the "data" (the resource) is the primary element and is oriented towards the original OO concept of message passing.
RPC has been bad since the days of XDR and SunRPC, has repeated the same problems with CORBA, WS-, XML RPC, JSON RPC, Java RMI, etc etc.
Programmers love it because it looks* like a standard function call, but the problems are hidden under the covers (versioning, network failures, idempotency, retries, etc).
- pjmlp 4y agoPeople keep advocating that REST isn't RPC, while almost no one uses it as it was originally proposed, almost every major product with REST APIs has client SDKs that wrap the boilerplate of doing REST calls, just like any RPC wire protocol.