1. 程式人生 > >SpringCloud 與 Dubbo區別

SpringCloud 與 Dubbo區別

總覽

  Dubbo SpringCloud
服務註冊中心 Zookeeper  Spring Cloud Netfix Eureka
服務呼叫方式 RPC  REST API
服務監控 Dubbo-monitor Spring Boot Admin
熔斷器 不完善 Spring Cloud Netflix Hystrix
服務閘道器 Spring Cloud Netflix Zuul
分散式配置 Spring Cloud Config
服務跟蹤 Spring Cloud Sleuth
資料流 Spring Cloud Stream
批量任務 Spring Cloud Task
資訊匯流排 Spring Cloud Bus

 

 

 

 

 

 

 

 

 

 

 


 

最大的區別:Dubbo底層是使用Netty這樣的NIO框架,是基於TCP協議傳輸的,配合以Hession序列化完成RPC通訊。而SpringCloud是基於Http協議+rest介面呼叫遠端過程的通訊,相對來說,Http請求會有更大的報文,佔的頻寬也會更多。但是REST相比RPC更為靈活,服務提供方和呼叫方的依賴只依靠一紙契約,不存在程式碼級別的強依賴,這在強調快速演化的微服務環境下,顯得更為合適,至於注重通訊速度還是方便靈活性,具體情況具體考慮。

 


 

背景區別:Dubbo是來源於阿里團隊,SpringCloud是來源於Spring團隊,Spring廣泛遍佈全球各種企業開發中,可以確保SpringCloud的後續更新維護,Dubbo雖然來自國內頂尖的阿里團隊,但是曾經被阿里棄用停更,但是後來阿里又低調重啟維護。

定位區別: Dubbo 是 SOA 時代的產物,它的關注點主要在於服務的呼叫,流量分發、流量監控和熔斷。而 Spring Cloud 誕生於微服務架構時代,考慮的是微服務治理的方方面面,另外由於依託了 Spirng、Spirng Boot 的優勢之上,兩個框架在開始目標就不一致,Dubbo 定位服務治理、Spirng Cloud 是一個生態。因此可以大膽地判斷,Dubbo 未來會在服務治理方面更為出色,而 Spring Cloud 在微服務治理上面無人能敵。

模組區別:1、Dubbo主要分為服務註冊中心,服務提供者,服務消費者,還有管控中心;2、相比起Dubbo簡單的四個模組,SpringCloud則是一個完整的分散式一站式框架,他有著一樣的服務註冊中心,服務提供者,服務消費者,管控臺,斷路器,分散式配置服務,訊息匯流排,以及服務追蹤等;

效能區別:Dubbo的每次測試除去網路波動之外,都表現非常穩定

Spring Cloud在第一次最慢,之後越來越快,連續測試4次以上單次測試效能超過dubbo
Spring Cloud-zuul在第一次最慢,之後也表現越來越快,連續4次以上測試 單次效能與dubbo相近,相差在0.02ms內

測試資料來源:https://blog.csdn.net/u012599432/article/details/78749255