SpringBoot項目中使用Netty替換Tomcat,Undertow等Web容器

目前工作中負責一個獨立微服務系統,使用了Spirngboot構建,有一個定時任務系統會通過http每隔10秒的頻率請求這個系統,爲了使微服務系統更加輕量級,提高性能,所以打算移除SpringMvc相關組件以及Tomcat,Jetty,Undertow等Web容器,使用Netty構建HttpServer來實現輕量級的RestfulAPIs。先看圖:

代碼傳送門

https://github.com/farsunset/netty-http-server

1.首先Springboot關閉Web功能
image.png

2.NettyServer配置
image.png

3實現IFunctionHandler 也就是SpirngMvc的Controller

image.png

當然也支持 path和requestboyd傳遞參數的方式,分別如下

image.png

image.png

4 OK 我們來啓動Spirngboot

image.png

5 國際慣例 Hello world

image.png

image.png

優點

1 netty使用多路複用技術大幅提升性能

2 減少web容器依賴,減少jar包體積

3 靈活配置簡單,適合所有需要提供restful接口的微服務應用

4 完全按照springmvc的模式開發配置

缺點

1還沒能做到和spirng DispatcherServlet那麼強大到支持各種規則的path配置

2獲取各種參數還需要在controller裏面通過HttpRequest來獲取,沒有springmvc自動注入參數方便

有問題歡迎隨時去Github反饋 Thanks

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章