4 ms·
A remote procedure call blocks on the response, ensuring the system is only as strong as its weakest link. If every object communicates asynchronously with ever
by Joeri 12y ago
A remote procedure call blocks on the response, ensuring the system is only as strong as its weakest link. If every object communicates asynchronously with every other object, using messages instead of shared memory (hence avoiding locking issues), the design by necessity evolves in ways which becomes more robust and easy to scale. Synchronous RPC calls encourage unscalable and unreliable architectures.
- pfraze 12y agoThis is a good answer, but it doesn't cover everything Kay is suggesting. If it did, then the topic would be sync vs async messaging.
- jcrites 12y agoAll remote calls must have a timeout. The lack of timeouts in certain RPC implementations was an implementation weakness, not a conceptual one. [Edit: I've removed most of my original comment since it pertained to messaging between machines, rather than within an application.]