Dubbo擴展:Dubbox
Dubbox是Dubbo的一個擴展,假如你知道java, javax 和 dubbo,那你就會明白dubbox是什么了。
Dubbox增加的功能如RESTful remoting, Kyro/FST 系列化等。它已經應用在當當網內部的多個項目中。
Dubbox當前的主要功能:
-
支持REST風格遠程調用(HTTP + JSON/XML):基于非常成熟的JBoss RestEasy框架,在dubbo中實現了REST風格(HTTP + JSON/XML)的遠程調用,以顯著簡化企業內部的跨語言交互,同時顯著簡化企業對外的Open API、無線API甚至AJAX服務端等等的開發。事實上,這個REST調用也使得Dubbo可以對當今特別流行的“微服務”架構提供基礎性支持。 另外,REST調用也達到了比較高的性能,在基準測試下,HTTP + JSON與Dubbo 2.x默認的RPC協議(即TCP + Hessian2二進制序列化)之間只有1.5倍左右的差距,詳見文檔中的基準測試報告。
-
支持基于Kryo和FST的Java高效序列化實現:基于當今比較知名的Kryo和FST高性能序列化庫,為Dubbo 默認的RPC協議添加新的序列化實現,并優化調整了其序列化體系,比較顯著的提高了Dubbo RPC的性能,詳見文檔中的基準測試報告。
-
支持基于嵌入式Tomcat的HTTP remoting體系:基于嵌入式tomcat實現dubbo 的HTTP remoting體系(即dubbo-remoting-http),用以逐步取代Dubbo中舊版本的嵌入式Jetty,可以顯著的提高REST等的遠程調用性能,并將Servlet API的支持從2.5升級到3.1。(注:除了REST,dubbo中的WebServices、Hessian、HTTP Invoker等協議都基于這個HTTP remoting體系)。
-
升級Spring:將dubbo中Spring由2.x升級到目前最常用的3.x版本,減少版本沖突帶來的麻煩
-
升級ZooKeeper客戶端:將dubbo中的zookeeper客戶端升級到最新的版本,以修正老版本中包含的bug。
-
調整Demo應用:暫時將dubbo的demo應用調整并改寫以主要演示REST功能和新的Java高效序列化等等。
-
修正了在JDK1.7上dubbo的部分bug:修正了比如dubbo協議中json序列化的問題。但是還沒有修正所有發現的bug。
注:dubbox和dubbo 2.x是兼容的,沒有改變dubbo的任何已有的功能和配置方式(除了升級了spring之類的版本)