當前位置:編程學習大全網 - 源碼下載 - Dubbo中的那些坑(四)HTTP調用

Dubbo中的那些坑(四)HTTP調用

Dubbo實現了HTTP調用,但只是走了HTTP協議而已,並沒有使用諸如REST的調用方式。換句話說,其他語言不能直接調用Dubbo的HTTP協議。而如今異構的系統的REST調用都比較常見,也出現了對Dubbo的REST協議的各種實現。

當當網改進的Dubbox,用了JBOSS的RESTEasy實現REST功能,比Jersey、Restlet、CXF好用。具體參見當當網開源項目: Dubbox

熱心網友在GitHub上向當當網提交了基於SpringMVC的REST調用實現( Pull request地址 )。互聯網項目中SpringMVC用的挺多,基於SpingMVC的實現還是挺好的。(SpringCloud用的也是SpringMVC,將Dubbo作為SpringCloud服務後,可以提供服務給SpringCloud端使用。感興趣可以參閱,Dubbo的Spring-boot化)

GitHub上的熱心網友(好像是阿裏巴巴員工)寫了個Dubbo-Plus的項目,有實現Dubbo的HTTP調用( 項目地址 ),沒用啥框架,手動解析HTTP請求。

以上幾種調換用都存在壹個問題,並沒有傳入RpcContext對象,導致壹些Dubbo的原生功能如Token校驗等無法使用。這裏用RestExpress(基於Netty,可脫離Tomcat或者Jetty等servlet容器運行,以極高的性能著稱。參見 Benchmark , Benchmark2 )寫了簡單的實現。通過將HTTP請求頭的值,寫入RpcContext中來解決這壹問題。項目地址: GitHub:xydonne/dubbo-rpc-restexpress

  • 上一篇:關於C#中WPF中使用ObservableCollection綁定XamDataGrid的問題
  • 下一篇:黑啤酒的酒品溯源
  • copyright 2024編程學習大全網