我在Google App Engine上用Java开发了一个应用程序,其中我们有RPC的概念,但是什么时候我们应该理想地使用RPC呢?即使没有RPC,我正在使用RPC所做的相同功能也可以实现。那么,理想的RPC应该在什么情况下设计……?
发布于 2011-09-20 15:03:52
当需要访问当前应用程序外部的服务时,通常使用RPC (或类似的)。
如果您只是试图调用属于此应用程序的方法(即,在此应用程序的地址空间中),那么它是不必要的……使用RPC是一种浪费。
...理想情况下,我们应该在什么时候使用RPC?
当你需要它的时候,而不是当你不需要的时候。
我正在使用RPC所做的相同功能,即使没有它也可以实现。
如果相同的功能可以在没有RPC的情况下实现,那么听起来您并不需要它。
那么理想情况下应该在什么情况下设计
……?
当需要它的时候(见上)。
一个更有指导意义的答案是,有充分的理由在不同地址空间和(通常)不同机器上运行的不同程序中实现“系统”的不同功能。好的理由可能包括这样的事情:
使用第三方供应商提供的子系统,将系统的一部分与位于不同languages
发布于 2011-09-20 14:59:52
听起来您的应用程序中不需要RPC。
当您需要从服务器上的资源访问客户端上不可用的数据时,就会使用RPC。例如web服务、数据库等。
发布于 2011-09-20 15:00:31
RPC是为请求/响应而设计的。例如,您有一个对服务的自包含请求,并且您希望得到响应(返回值或成功/失败状态)。
您可以在任何可能使用方法调用的地方使用它,除非您正在调用的对象不是当前进程的本地对象。
https://stackoverflow.com/questions/7481226
复制相似问题