rpc 跟 restful 之间有什么关系 ?

2020-07-15 11:16:33 +08:00
 fangcan

目前的项目是前后端分离,后端用 springmvc,前端用 vue,基于 http 交互。

后端接口定义的格式 像 rpc 风格 比如:getUserInfo,queryStoreCouponList

疑问的地方:

  1. 像这种前后端分离的结构属于 restful 还是 rpc 还是 都不属于?
  2. rpc 跟 restful 之间有什么关系、区别?

求各位老哥解答

4518 次点击
所在节点    程序员
21 条回复
libook
2020-07-17 14:07:03 +08:00
@fangcan 你没有说实现细节,所以我也无法判断。

RPC 、REST 、前后端分离,三者之间没有任何联系,不互相依赖,也可以共存。就好比是车辆、汽油发动机、出行三者的关系;车辆可以用汽油发动机,也可用柴油发动机甚至电动机;汽油发动机可以给汽车用,也可以给船和发电机用;出行可以选择乘车,也可以选择乘船和飞机甚至自行车。

RPC 和 REST,一个是针对调用的方式,另一个是针对通信方式,分别看。

RPC 的精髓是,业务逻辑不需要关心本地的这个方法是如何实现和服务器通信的,本质上是对调用过程的一种封装,这样业务逻辑只需要关心自己的业务逻辑,RPC 只需要关心如何实现远程调用,两者隔离。

REST 只是一种 API 的设计风格,只要你服务端的 API 风格符合 REST 的特征,那就算是用了 REST 风格。

所以你搞清楚了之后可以自己判断一下,你现在是否在用 RPC 以及 REST 。

不过我觉得你目前的思路是本末倒置的。不应该是先做完了一个设计再回过头来看做法是不是符合某种技术的特征;而是应该先分析需求,然后为了更科学地实现需求,根据不同技术的特征来选择其中最合适的来实现。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/690175

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX