web容器,有jetty和tomcat,在dropwizard中,选择了jetty作为web容器,而springboot,默认选择了tomcat作为web容器,可以切换为jetty作为web容器。
jetty 和tomcat架构对比
![](https://img.haomeiwen.com/i6301972/3b539bccb623eaf6.png)
![](https://img.haomeiwen.com/i6301972/9e3b9c12c1c473d6.png)
从两个图可以看到,总体的设计上都保护connector和container两个大模块,其中container设计,jetty相对比较简单,就是handler链,而tomcat比较复杂,有Engine、host、context。
相对而言,tomcat比较复杂,可扩展性强,而jetty就使用责任链,相对比较简单。tomcat支持的功能比较多,目前使用相对于jetty更加广泛。
性能对比
从根本上,两者都要实现基于http的rpc调用。
从连接上看,tomcat使用短连接,而jetty使用长连接,传输图片等比较合适。所以需要根据使用场景来选择。
jetty由于比较轻量,性能自然比较高。
小结
两个web服务器,如果在进行基础架构开发时,需要进行合理选型。
网友评论