目录

1、Restful 与 RPC框架

2、RPC、HTTP、RESTful

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

4、rpc理解

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


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上

rpc 和rest调用 rpc restful区别_RPC

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

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

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

4、Thrift跨语言,Dubbo基于java

2、RPC、HTTP、RESTful


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

4、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协议本身有各自的使用范围和编码要求,这些会对交互两端的代码形成约束,所以应该根据自身实际情况去选择。