dubboss
HTTPCLIENT請求基于NETTY的HTTP服務器,NETTY生成相關的HTTPREQUEST、HTTPRESPONSE,調用SPRING 的DISPATCHSERVLET.SERVICE,將HTTPRESPONSE生成二進制字節,返回HTTPCLIENT。DISPATCHSERVLET同時會調用SPRING的CONTROLLER干活,即以前的SPRING MVC那套可以保留。缺點:
nginx+tomcat與netty優缺點
http://www.oschina.net/question/1765708_158026
我的架構最開始是 nginx + [netty (tcp)
] 用nginx做負載均衡。后來分布式接口變成了http restful -> nginx + [netty(http)
]
于是參考了netty的官方http例子,開始移植代碼,其實移植量不大,只需要把原來的tpc handler里面的邏輯放到http handler里面就可以了。本以為ok了,測試才發現了大量的問題,其實問題本身是由于對http基礎掌握的還不夠透徹,比如keep-alive屬性,這個平時基本不用的東西,當你要自己開發http server時,變的很有用,你不能每次都close channel.你要化很多時間了解header里面每個字段的意思,然后去實現它。再比如一個post請求,你要自己寫代碼從body里面讀數據,解碼等。
最終我放棄了netty,回到了tomcat.應為tomcat把http的一切都幫你搞定了。
最終的架構是 nginx + [tomcat(http)
]
tomcat就是針對http層的,所以我建議http還是選擇tomcat(或者其他成熟的http-server),并不是說netty不好,而是你的選擇問題,netty是一個網絡組件,tcp,udp,http都可以弄,但是官方文檔都是些hello wolrd級別的。如果你非常了解http結構,完全可以基于netty搞出一個比tomcat牛的http server.
如果做tcp開發,netty不二之選!


于是參考了netty的官方http例子,開始移植代碼,其實移植量不大,只需要把原來的tpc handler里面的邏輯放到http handler里面就可以了。本以為ok了,測試才發現了大量的問題,其實問題本身是由于對http基礎掌握的還不夠透徹,比如keep-alive屬性,這個平時基本不用的東西,當你要自己開發http server時,變的很有用,你不能每次都close channel.你要化很多時間了解header里面每個字段的意思,然后去實現它。再比如一個post請求,你要自己寫代碼從body里面讀數據,解碼等。
最終我放棄了netty,回到了tomcat.應為tomcat把http的一切都幫你搞定了。
最終的架構是 nginx + [tomcat(http)

tomcat就是針對http層的,所以我建議http還是選擇tomcat(或者其他成熟的http-server),并不是說netty不好,而是你的選擇問題,netty是一個網絡組件,tcp,udp,http都可以弄,但是官方文檔都是些hello wolrd級別的。如果你非常了解http結構,完全可以基于netty搞出一個比tomcat牛的http server.
如果做tcp開發,netty不二之選!
dubboss是一個分布式REST服務的框架,實現了如下功能:
- 基于dubbo的RPC
- 基于netty的應用服務器
- 基于springmvc的REST調用
- 基于ngnix的負載均衡
https://github.com/leiguorui/dubboss
posted on 2016-04-20 13:04 paulwong 閱讀(1704) 評論(0) 編輯 收藏 所屬分類: DUBBO