RPC和Message Passing比较
RPC和Messaging各自存在一些问题。
RPC的问题
- Non-Local Exceptions Problem
如果服务器端抛出异常,我们需要同时在服务端和客户端写两份Exception Handling的代码来处理这个错误。
- Indirect Memory Allocation Problem
如果客户端向服务端传递的参数非常庞大,可能会导致内存耗尽。
同样如果服务端向客户端传递的返回值非常庞大也会导致内存耗尽。 - Blocking Calls Problem
默认RPC函数调用会等待函数返回,这个会很慢。通常需要创建一个新的线程异步处理该函数返回。
- Static Interface Problem
如果改变了服务端的接口,客户端的接口也要随之改变。
Reference
https://sbdevel.wordpress.com/2009/12/17/the-case-rpc-vs-messaging/