dubbo和openfeign的區別?
一、相同點
dubbo 與 Feign 都依賴注冊中心、負載均衡。
二、區別
1、協議
Dubbo:
支持多傳輸協議(Dubbo、Rmi、http、redis等等),可以根據業務場景選擇最佳的方式。非常靈活。
默認的Dubbo協議:利用Netty,TCP傳輸,單一、異步、長連接,適合數據量小、高并發和服務提供者遠遠少于消費者的場景。
Feign:
基于Http傳輸協議,短連接,不適合高并發的訪問。
2、負載均衡
Dubbo:
支持4種算法(隨機、輪詢、活躍度、Hash一致性),而且算法里面引入權重的概念。
配置的形式不僅支持代碼配置,還支持Dubbo控制臺靈活動態配置。
負載均衡的算法可以精準到某個服務接口的某個方法。
Feign:
只支持N種策略:輪詢、隨機、ResponseTime加權。
負載均衡算法是Client級別的。
3、容錯策略
Dubbo:
支持多種容錯策略:failover、failfast、brodecast、forking等,也引入了retry次數、timeout等配置參數。
Feign:
利用熔斷機制來實現容錯的,處理的方式不一樣。