1:OSI網(wǎng)絡(luò)七層模型
第一層:應(yīng)用層干旧。定義了用于在網(wǎng)絡(luò)中進(jìn)行通信和傳輸數(shù)據(jù)的接口妹蔽;
第二層:表示層。定義不同的系統(tǒng)中數(shù)據(jù)的傳輸格式胳岂,編碼和解碼規(guī)范等;
第三層:會話層掌测。管理用戶的會話产园,控制用戶間邏輯連接的建立和中斷;
第四層:傳輸層什燕。管理著網(wǎng)絡(luò)中的端到端的數(shù)據(jù)傳輸;
第五層:網(wǎng)絡(luò)層庙睡。定義網(wǎng)絡(luò)設(shè)備間如何傳輸數(shù)據(jù)技俐;
第六層:鏈路層。將上面的網(wǎng)絡(luò)層的數(shù)據(jù)包封裝成數(shù)據(jù)幀雕擂,便于物理層傳輸;
第七層:物理層谣拣。這一層主要就是傳輸這些二進(jìn)制數(shù)據(jù)
2:什么是RPC框架
什么是RPC框架:Remote Procedure Cal
因此在廣義上 SpringCloud 與 Dubbo 理論上其實都算作是一直RPC框架
但由于狹義RPC框架還有一個特點:像調(diào)用本服務(wù)接口一樣族展,調(diào)用其他服務(wù)接口;
那么意味在調(diào)用的過程中 經(jīng)過一些額外的流程越少越好仪缸。
SpringCloud是基于HTTP協(xié)議(應(yīng)用層)
Dubbo 是基于TPC/IP 協(xié)議(傳輸層)
相比之下我們也就認(rèn)為 Dubbo 才是真正的RPC框架
3:SpringCloud 與 Dubbo 對比
SpringCloud
基于HTTP 協(xié)議 應(yīng)用層協(xié)議 處于7層網(wǎng)絡(luò)傳輸協(xié)議的上層
正是由于HTTP協(xié)議是上層協(xié)議 所以可以更好兼容其他組件與功能
Spring Cloud擁有很多的項目模塊,包含了微服務(wù)系統(tǒng)的方方面面宾茂。
Dubbo
基于TPC/IP 協(xié)議 傳輸層協(xié)議 處于7層網(wǎng)絡(luò)傳輸協(xié)議的底層
正是由于TPC/IP 協(xié)議 是底層協(xié)議 所以調(diào)用速度非常快
Dubbo只做一件事就是服務(wù)調(diào)用 因為是分布式框架同時也需要服務(wù)治理
框架 |
基于協(xié)議 |
調(diào)用速度 |
兼容組件與功能 |
SpringCloud |
HTTP 協(xié)議 |
慢 |
非常非常非常非常多 |
Dubbo |
TPC/IP 協(xié)議 |
快 |
僅專注于 服務(wù)調(diào)用 服務(wù)治理 |