我正在研究Google App Engine上的Java应用程序,我们有一个RPC的概念,但我们什么时候应该理想地使用RPC?即使没有它,我可以实现与RPC相同的功能。那么理想情况下应该在什么情况下设计RPC?
答案 0 :(得分:2)
当需要访问当前应用程序外部的服务时,通常使用RPC(或类似)。
如果您只是尝试调用属于此应用程序的方法(即在此应用程序的地址空间中),那么就没有必要了......并且浪费使用RPC。
......我们什么时候应该理想地使用RPC?
当你需要时,而不是在你不需要时。
即使没有它,我可以实现与RPC相同的功能。
如果没有RPC可以实现相同的功能,那么听起来你不需要它。
那么理想情况下应该在什么情况下设计RPC?
需要时(见上文)。
更有启发性的答案是有充分理由在不同地址空间和(通常)在不同机器上运行的不同程序中实现“系统”的不同功能的情况。 可能包含以下内容的好理由:
答案 1 :(得分:0)
听起来你的应用程序中不需要RPC。
只要您需要从服务器上的资源访问客户端上不可用的数据,就会使用RPC。例如Web服务,数据库等
答案 2 :(得分:0)
RPC专为请求/响应而设计。即,您对服务有自包含的请求,并且您希望得到响应(返回值或成功/失败状态)
您可以在任何可能使用方法调用的地方使用它,除了您调用的对象不是当前进程的本地对象。