目前工作中負(fù)責(zé)一個(gè)獨(dú)立微服務(wù)系統(tǒng),使用了Spirngboot構(gòu)建食棕,有一個(gè)定時(shí)任務(wù)系統(tǒng)會(huì)通過http每隔10秒的頻率請(qǐng)求這個(gè)系統(tǒng)朗和,為了使微服務(wù)系統(tǒng)更加輕量級(jí),提高性能,所以打算移除SpringMvc相關(guān)組件以及Tomcat簿晓,Jetty眶拉,Undertow等Web容器,使用Netty構(gòu)建HttpServer來實(shí)現(xiàn)輕量級(jí)的RestfulAPIs抢蚀。先看圖:
1.首先Springboot關(guān)閉Web功能
2.NettyServer配置
3實(shí)現(xiàn)IFunctionHandler 也就是SpirngMvc的Controller
當(dāng)然也支持 path和requestboyd傳遞參數(shù)的方式,分別如下
4 OK 我們來啟動(dòng)Spirngboot
5 國(guó)際慣例 Hello world
優(yōu)點(diǎn)
1 netty使用多路復(fù)用技術(shù)大幅提升性能
2 減少web容器依賴镰禾,減少jar包體積
3 靈活配置簡(jiǎn)單皿曲,適合所有需要提供restful接口的微服務(wù)應(yīng)用
4 完全按照springmvc的模式開發(fā)配置
缺點(diǎn)
1還沒能做到和spirng DispatcherServlet那么強(qiáng)大到支持各種規(guī)則的path配置
2獲取各種參數(shù)還需要在controller里面通過HttpRequest來獲取,沒有springmvc自動(dòng)注入?yún)?shù)方便
有問題歡迎隨時(shí)去Github反饋 Thanks