目前工作中负责一个独立微服务系统,使用了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