首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

SpringCloud升级之路2020.0.x版-12.UnderTow 简介与内部原理

在我们的项目中,我们没有采用默认的 Tomcat 容器,而是使用了 UnderTow 作为我们的容器。其实性能上的差异并没有那么明显,但是使用 UnderTow 我们可以利用直接内存作为网络传输的 buffer,减少业务的 GC,优化业务的表现。其实 Tomcat 也有使用直接内存作为网络传输的 buffer 的配置,即 Connector 使用 NIO 或者 NIO2,还有 APR 这种基于 JNI 的优化文件与请求传输的方式,但是 tomcat 随着不断迭代与发展,功能越来越完善以及组件化的同时,架构也越来越复杂,这也带来了代码设计与质量上的一些降低。对比 Tomcat Connector 那里的源代码与设计,我最终选择了更为轻量设计的 Undertow。至于不选 Jetty 的原因和 Tomcat 类似,不选 reactor-netty 的主要原因是项目还是比较新并且不太成熟,并且基于异步回调,很多时候异常处理不全面,导致最后诡异的响应并且异常定位成本比较高。

02
领券