Thrift(二):RPC与Restful理解

x33g5p2x  于2021-11-24 转载在 其他  
字(1.2k)|赞(0)|评价(0)|浏览(276)

1、Restful 与 RPC框架

  • 1、从本质区别上看,RPC是基于TCP实现的,RESTFUL是基于HTTP来实现的。
  • 2、从传输速度上来看,因为HTTP封装的数据量更多所以数据传输量更大,所以RPC的传输速度是比RESTFUL更快的。
  • 3、因为HTTP协议是各个框架都普遍支持的。在toC情况下,因为不知道情况来源的框架、数据形势是什么样的,所以在网关可以使用Restful利用http来接受。而在微服务内部的各模块之间因为各协议方案是公司内部自己定的,所以知道各种数据方式,可以使用TCP传输以使各模块之间的数据传输更快。所以可以网关和外界的数据传输使用RESTFUL,微服务内部的各模块之间使用RPC。
  • 4、RESTFUL的API的设计上是面向资源的,对于同一资源的获取、传输、修改可以使用GET、POST、PUT来对同一个URL进行区别,而RPC通常把动词直接体现在URL上

1、RestTemplate:同步调用方式,使用HTTP协议应用层。

2、RPC:基于TCP,建立Socket连接。

3、RPC框架:Thrift,gRPC,Dubbo。

4、Thrift跨语言,Dubbo基于java

既然有 HTTP 请求,为什么还要用 RPC 调用? - 知乎

33.服务之间的调用之RPC、Restful深入理解_郑学炜的技术博客-CSDN博客_rpc和restful的区别

RESTful接口规范理解:Spring Cloud学习笔记(二)Restful理解及微服务的Restful调用_haogenmin的博客-CSDN博客

2、RPC、HTTP、RESTful

RPC、HTTP、RESTful - 威威超酷 - 博客园

3、有了http,为什么需要rpc

有了HTTP,为什么还要RPC? - 简书

4、rpc理解

谁能用通俗的语言解释一下什么是 RPC 框架? - 知乎

5、spring cloud 服务调用方式为什么使用http restful 而不是RPC?

HTTP Restful本身轻量,易用,适用性强,可以很容易的跨语言,跨平台,或者与已有系统交互,毕竟HTTP现在没有不支持的。
Spring可以整合其他的RPC方案,比如各种MQ,Hessian,Thrift,都可以。
但是各类RPC协议本身有各自的使用范围和编码要求,这些会对交互两端的代码形成约束,所以应该根据自身实际情况去选择。
至于各类整合方案,应该很多,可以带着具体的RPC协议去搜。

HTTP Restful本身轻量,易用,适用性强,可以很容易的跨语言,跨平台,或者与已有系统交互,毕竟HTTP现在没有不支持的。

Spring可以整合其他的RPC方案,比如各种MQ,Hessian,Thrift,都可以。

但是各类RPC协议本身有各自的使用范围和编码要求,这些会对交互两端的代码形成约束,所以应该根据自身实际情况去选择。

参考:RPC(二):RPC基础_mingyuli的博客-CSDN博客

相关文章