目前工作中負責一個獨立微服務系統,使用了Spirngboot構建,有一個定時任務系統會通過http每隔10秒的頻率請求這個系統,爲了使微服務系統更加輕量級,提高性能,所以打算移除SpringMvc相關組件以及Tomcat,Jetty,Undertow等Web容器,使用Netty構建HttpServer來實現輕量級的RestfulAPIs。先看圖:
代碼傳送門
https://github.com/farsunset/netty-http-server
1.首先Springboot關閉Web功能
2.NettyServer配置
3實現IFunctionHandler 也就是SpirngMvc的Controller
當然也支持 path和requestboyd傳遞參數的方式,分別如下
4 OK 我們來啓動Spirngboot
5 國際慣例 Hello world
優點
1 netty使用多路複用技術大幅提升性能
2 減少web容器依賴,減少jar包體積
3 靈活配置簡單,適合所有需要提供restful接口的微服務應用
4 完全按照springmvc的模式開發配置
缺點
1還沒能做到和spirng DispatcherServlet那麼強大到支持各種規則的path配置
2獲取各種參數還需要在controller裏面通過HttpRequest來獲取,沒有springmvc自動注入參數方便
有問題歡迎隨時去Github反饋 Thanks