1:OSI网络七层模型
第一层:应用层。定义了用于在网络中进行通信和传输数据的接口;
第二层:表示层。定义不同的系统中数据的传输格式,编码和解码规范等;
第三层:会话层。管理用户的会话,控制用户间逻辑连接的建立和中断;
第四层:传输层。管理着网络中的端到端的数据传输;
第五层:网络层。定义网络设备间如何传输数据;
第六层:链路层。将上面的网络层的数据包封装成数据帧,便于物理层传输;
第七层:物理层。这一层主要就是传输这些二进制数据
2:什么是RPC框架
什么是RPC框架:Remote Procedure Cal
因此在广义上 SpringCloud 与 Dubbo 理论上其实都算作是一直RPC框架
但由于狭义RPC框架还有一个特点:像调用本服务接口一样,调用其他服务接口;
那么意味在调用的过程中 经过一些额外的流程越少越好。
SpringCloud是基于HTTP协议(应用层)
Dubbo 是基于TPC/IP 协议(传输层)
相比之下我们也就认为 Dubbo 才是真正的RPC框架
3:SpringCloud 与 Dubbo 对比
SpringCloud
基于HTTP 协议 应用层协议 处于7层网络传输协议的上层
正是由于HTTP协议是上层协议 所以可以更好兼容其他组件与功能
Spring Cloud拥有很多的项目模块,包含了微服务系统的方方面面。
Dubbo
基于TPC/IP 协议 传输层协议 处于7层网络传输协议的底层
正是由于TPC/IP 协议 是底层协议 所以调用速度非常快
Dubbo只做一件事就是服务调用 因为是分布式框架同时也需要服务治理
框架 |
基于协议 |
调用速度 |
兼容组件与功能 |
SpringCloud |
HTTP 协议 |
慢 |
非常非常非常非常多 |
Dubbo |
TPC/IP 协议 |
快 |
仅专注于 服务调用 服务治理 |
网友评论