tomcat源码为什么不采用netty处理并发?
网友解答: 因为servlet规范,tomcat要实现servlet规范所以不能最大发挥NIO的特性,servlet3.0之前完全是同步阻塞模型,在read http body 以及 r
因为servlet规范,tomcat要实现servlet规范所以不能最大发挥NIO的特性,servlet3.0之前完全是同步阻塞模型,在read http body 以及 response的情况下,即使tomcat选择 NIO的 connector也是模拟阻塞的行为,因为servlet规范规定的就是这样。
netty不用遵循servlet规范,可以最大化发挥NIO的特性,性能更高一些。但对于多数业务来讲tomcat的connector已经足够了。
希望上面的回答对你有所帮助,如果还是不懂或者有问题,可以关注今日酷米“小熊社长”酷米号,私信我。希望能够对楼主有所帮助。如果喜欢请转发。
网友解答:tomcat用的是Apache的MINA网络库,可以说是第一代Java网络库,并且也支持NIO了。既然都有了这些库了,功能也不差,为什么不继续开发MINA的功能,反而自废武功,去换成Netty呢?