paulwong

          dubboss

          HTTPCLIENT請求基于NETTY的HTTP服務(wù)器,NETTY生成相關(guān)的HTTPREQUEST、HTTPRESPONSE,調(diào)用SPRING 的DISPATCHSERVLET.SERVICE,將HTTPRESPONSE生成二進(jìn)制字節(jié),返回HTTPCLIENT。DISPATCHSERVLET同時(shí)會(huì)調(diào)用SPRING的CONTROLLER干活,即以前的SPRING MVC那套可以保留。

          缺點(diǎn):
          nginx+tomcat與netty優(yōu)缺點(diǎn)
          http://www.oschina.net/question/1765708_158026

          我的架構(gòu)最開始是 nginx + [netty (tcp) ] 用nginx做負(fù)載均衡。后來分布式接口變成了http restful -> nginx + [netty(http) ]

          于是參考了netty的官方http例子,開始移植代碼,其實(shí)移植量不大,只需要把原來的tpc handler里面的邏輯放到http handler里面就可以了。本以為ok了,測試才發(fā)現(xiàn)了大量的問題,其實(shí)問題本身是由于對http基礎(chǔ)掌握的還不夠透徹,比如keep-alive屬性,這個(gè)平時(shí)基本不用的東西,當(dāng)你要自己開發(fā)http server時(shí),變的很有用,你不能每次都close channel.你要化很多時(shí)間了解header里面每個(gè)字段的意思,然后去實(shí)現(xiàn)它。再比如一個(gè)post請求,你要自己寫代碼從body里面讀數(shù)據(jù),解碼等。

          最終我放棄了netty,回到了tomcat.應(yīng)為tomcat把http的一切都幫你搞定了。

          最終的架構(gòu)是 nginx + [tomcat(http) ]

          tomcat就是針對http層的,所以我建議http還是選擇tomcat(或者其他成熟的http-server),并不是說netty不好,而是你的選擇問題,netty是一個(gè)網(wǎng)絡(luò)組件,tcp,udp,http都可以弄,但是官方文檔都是些hello wolrd級別的。如果你非常了解http結(jié)構(gòu),完全可以基于netty搞出一個(gè)比tomcat牛的http server.

          如果做tcp開發(fā),netty不二之選!

          dubboss是一個(gè)分布式REST服務(wù)的框架,實(shí)現(xiàn)了如下功能:

          • 基于dubbo的RPC
          • 基于netty的應(yīng)用服務(wù)器
          • 基于springmvc的REST調(diào)用
          • 基于ngnix的負(fù)載均衡

          https://github.com/leiguorui/dubboss

          posted on 2016-04-20 13:04 paulwong 閱讀(1707) 評論(0)  編輯  收藏 所屬分類: DUBBO


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          相關(guān)文章:
           
          主站蜘蛛池模板: 宝清县| 沂南县| 望江县| 西乌珠穆沁旗| 大关县| 大理市| 大厂| 平罗县| 琼中| 韩城市| 萝北县| 高淳县| 怀化市| 崇礼县| 灵寿县| 渝北区| 屏东市| 海兴县| 阿鲁科尔沁旗| 阜城县| 忻州市| 万荣县| 丹凤县| 九龙县| 三门峡市| 鹰潭市| 平湖市| 平泉县| 虞城县| 都江堰市| 霍山县| 三原县| 济南市| 景宁| 普宁市| 昌都县| 调兵山市| 璧山县| 石门县| 佛学| 烟台市|