日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

微服务系列:Dubbo与SpringCloud的Ribbon、Hystrix、Feign的优劣势比较

發布時間:2024/7/5 javascript 72 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微服务系列:Dubbo与SpringCloud的Ribbon、Hystrix、Feign的优劣势比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在微服務架構中,分布式通信、分布式事務、分布式鎖等問題是亟待解決的幾個重要問題。

Spring Cloud是一套完整的微服務解決方案,基于 Spring Boot 框架。確切的說,Spring Cloud是一個大容器(而不是一個框架),它可以將通過集成一些好的微服務框架,從而簡化開發者的代碼量。


Dubbo 是阿里開源的分布式通信框架,專注于通信服務治理,類似于Spring Cloud中 Ribbon、 Hystrix、 Feign等核心組件的功能。

下面,我們著重來聊下這兩種處理方式有何不同。

01 協議處理

1)Spring Cloud更加優雅簡單

Feign使用Http進行傳輸。

Feign 集成了Ribbon,并且嵌入了Spring cloud全家桶 ,通過簡單配置 ,就能在分布式里面實現服務間的調用,類似于Bean 調用。

2)Dubbo方式更靈活

Dubbo協議可選,大部分情況使用Dubbo傳輸協議,也可以使用http協議。

從協議層選擇看,Dubbo是配置化的,更加靈活。

Dubbo 協議更適合小數據高并發場景。

02 性能方面

1)Spring Cloud性能調優

Feign 在高并發場景下,通常需要進行如下性能優化,有明顯瓶頸,需要改造。

· 調整服務容器到 UnderTow ,在負載大的情況下Undertow 的性能有提高;

· 曾有同學表示將HTTPURLConnection 改成 Httpclient /Okhttp,這樣可以優化性能,其實單次調用性能Httpclient差很多,HttpClient 因為封裝了很多方便開發者處理的方法,性能比HTTPURLConnection差,改進同時Httpclient 需要設置復用連接池,效果可見一般;

· 開啟Gzip;

· Feign中HttpMessageConverters 默認使用jackson2方式進行序列化和反序列化,可以將其改造為ProtoBuf,降低Cpu 損耗并且響應時間也降低。

2)Dubbo性能調優

主要是配置而無需改造。

03 負載均衡

1)Ribbon 的負載均衡策略

· 隨機;

· 規則輪詢;

· 空閑策略;

· 響應時間策略。

Feign默認使用Ribbon作為負載均衡的組件,Ribbon需要進行全局配置,個性化配置比較麻煩。

2)Dubbo 的負載均衡策略

· 隨機;

· 權重輪詢;

· 最少活躍調用數;

· 一致性Hash策略。

Dubbo 可以使用路由策略,然后再進行負載均衡。

04 容錯機制

Spring cloud 的 Hystix 提供了服務降級,服務熔斷,依賴隔離,監控(Hystrix Dashboard)等功能。

圖片為引用,來源于官方圖片

Dubbo 提供了一整套 FailOver、FailFast、Failsafe、FailBack、Aviailable、Broadcast、Forking 策略,以及Mock

圖片為引用,來源于官方圖片

05 路由、流量調度、ABtest

1)Ribbon需自己實現,應用不靈活

Ribbon主要通過擴展 AbstractLoadBalancerRule負載均衡的方法來實現,在負載均衡的部分還要進行改造升級。

2)Dubbo更加靈活方便

Dubbo通過界面化、校本化配置路由規則,可以實現灰度發布、動態流量調度、容量計算等,方案成熟。

另外,Dubbo 還支持多版本調用。

06 總結

正如Dubbo的介紹(如下圖),業務發展影響著架構的選型,當服務數量不是很大時,使用普通的分布式RPC架構即可,當服務數量增長到一定數據,需要進行服務治理時,就需要考慮使用流式計算架構。

圖片為引用,來源于官方圖片

Dubbo可以方便的做更精細化的流量調度,服務結構治理的方案成熟,適合生產上使用,雖然Dubbo是塵封后重新開啟,但這并不影響其技術價值。

Ribbon Hystrix Feign在服務治理中,配合Spring Cloud做微服務,使用上有很多優勢,社區也比較活躍,看將來更新發展。

你可能也喜歡:

  • 微服務系列:服務注冊與發現的實現原理、及實現優劣勢比較
  • Spring Cloud的核心成員、以及架構實現詳細介紹
  • 阿里P8架構師談:微服務Dubbo和SpringCloud架構設計、優劣勢比較
  • 阿里P8架構師談:Spring Cloud與Dubbo的詳細比較
  • 阿里P8架構師談:Restful、SOAP、RPC、SOA、微服務之間的區別

  • 總結

    以上是生活随笔為你收集整理的微服务系列:Dubbo与SpringCloud的Ribbon、Hystrix、Feign的优劣势比较的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。