【发布时间】:2018-04-06 22:05:54
【问题描述】:
我在实现方面很难理解 RPC。看过几篇关于 RPC 的文章,我看过以下与RPC相关的例子:
示例:RPC api
GET /readStudent?studentid=123
示例:RPC 调用
POST /student HTTP/1.1
HOST: api.demo.com
Content-Type: application/json
{"name": "John Doe"}
据我阅读和理解,RPC 允许客户端应用程序直接调用不同机器上的服务器应用程序上的方法,就好像它是本地对象一样。
那么,上面的例子是关于什么的?为什么我们要进行 api 调用而不是调用方法?
我假设在上面的这些 RPC 示例中,URL 可能指向公共方法,并且方法参数在此处在查询字符串或正文中传递。
如果是这样,那我为什么不能简单地使用 REST 呢?为什么要努力通过 HTTP api 公开公共方法(根据 RPC 原则,其实际实现必须在其他地方)?
我也对什么是实际的 RPC 方式以及应该首选哪种方式感到困惑。
【问题讨论】: