Dubbo與DubboX區別
前世今生:
Dubbo源於阿里的淘寶網開源的分佈式的服務架構,致力於提供高性能和透明化的RPC遠程服務調用方案,是SOA服務化治理方案的核心框架。淘寶網將其開源之後,得到了很多的拓展和支持(比較出名的有:噹噹網的擴展版本dubbox,京東的擴展版本jd-hydra等)
Dubbox(即Dubbo eXtensions)是噹噹網Fork基於dubbo2.x的升級版本,兼容原有的dubbox。其中升級了zookeeper和spring版本,並且支持restfull風格的遠程調用。。
版本:
Dubbo目前已停止更新;
Dubbox目前還在更新。
說明:dubbox和dubbo 2.x是兼容的,
沒有改變dubbo的任何已有的功能和配置方式(除了升級了Spring之類的版本)。
據說淘寶網dubbo與一個非開源的框架HSF有爭執,導致dubbo的團隊已經解散了,但是其擴展的版本dubbox卻得到不斷的發展(升級更新);
<!--------升級詳情--------|--------------------
- dubbox-2.8.0:該版本已經在生產環境中使用,主要支持REST風格遠程調用、支持Kryo和FST序列化、升級了Spring和Zookeeper客戶端、調整了demo應用等等
- dubbox-2.8.1:主要支持基於嵌入式tomcat的http-remoting,優化了REST客戶端性能,在REST中支持限制服務端接納的最大HTTP連接數等等
- dubbox-2.8.2:
- 支持REST中的HTTP logging,包括HTTP header的字段和HTTP body中的消息體,方便調試、日誌紀錄等等
- 提供輔助類便於REST的中文處理
- 改變使用@Reference annotation配置時的異常處理方式,即當用annotation配置時,過去dubbo在啓動期間不拋出依賴服務找不到的異常,而是在具體調用時拋出NPE,這與用XML配置時的行爲不一致。
- 較大的充實了Dubbo REST的文檔
- dubbox-2.8.3:
- 在REST中支持dubbo統一的方式用bean validation annotation作參數校驗(沈理)
- 在RpcContext上支持獲取底層協議的Request/Response(沈理)
- 支持採用Spring的Java Config方式配置dubbo(馬金凱)
- 在Dubbo協議中支持基於Jackson的json序列化(Dylan)
- 在Spring AOP代理過的對象上支持dubbo annotation配置(Dylan)
- 修正Dubbo管理界面中沒有consumer時出現空指針異常(馬金凱)
- 修正@Reference annotation中protocol設置不起作用的bug(沈理)
- 修正@Reference annotation放在setter方法上即會出錯的bug(Dylan)
---------/>
嵌入:
dubbo:嵌入式Jetty
dubbox:基於嵌入式tomcat實現dubbo的 HTTP remoting體系(即dubbo-remoting-http)
對Servlet API的支持:
dubbo:2.5
dubbox:升級到3.1
序列化:
dubbo:
dubbox:基於Dubbo默認的RPC協議添加新的JSON序列化實現;
支持基於Kryo和FST的Java高效序列化實現;
Zookeeper註冊中心:
dubbo:Dubbo提供了Zookeeper註冊中心,在整個Dubbo的設計裏面充分考慮到了各類用戶的需求,一些底層的通訊或者是信息存儲都提供有大量的不同的存儲方案;
dubbox:升級ZooKeeper客戶端到最新版本;
使用場景:
dubbo:使用Dubbo的RPC調用方式,服務間仍然會存在API強依賴;
dubbox:相對於Dubbo支持了REST風格的原創調用(HTTP +JSON/XML);
-------------------------------------------------------
------簡言之(dubbox基於dubbo的升級):
-------------------
支持REST風格遠程調用(HTTP + JSON/XML);
支持基於Kryo和FST的Java高效序列化實現;
支持基於Jackson的JSON序列化;
支持基於嵌入式Tomcat的HTTP remoting體系;
升級Spring至3.x;
升級ZooKeeper客戶端;
支持完全基於Java代碼的Dubbo配置;
-------------------------------------------------
附錄:
Dubbo:
Dubbox:
噹噹網dubbox學習參考文檔:http://dangdangdotcom.github.io/dubbox/
----------------------