Tomcat、servlet以及netty之间的简单区别

Tomcat(这里以tomcat表明web服务器)和Servlet对比:
Tomcat能够理解成用于http平台的服务器,能接受http的请求并分析。java

Servlet是java内部的一种规范,准确的说,他能够对参数进行分析,建立对象而后返回数据。nginx

这二者对比,差很少就是Tomcat负责请求链接,断开链接,链接校验等操做,Servlet主要处理内部数据操做,注意这个对请求的操做其实是最复杂的。web

 

Tomcat和Netty对比:
tomcat是web服务器,主要针对http协议,netty支持各类协议,本身造协议都OK,固然netty也能封装http协议,因此也固然能够用netty当作web服务器。tomcat

Tomcat是基于netty吗?貌似不是,tomcat官网上是这么写的:服务器

Tomcat 8.5 and 9.0 have completely dropped the BIO connector.网络

也就是说,老版本tomcat只有bio,后来加入了支持nio功能,8.5以后干脆直接放弃bio模式了。优化

Tomcat用java后来的NIO来优化本身,netty也是基于nio,不过用netty作一个http服务器彷佛没那么轻松,因此netty更多领域在于走各类rpc协议,消息中间件,或者其余领域的网络通信。.net

 

Servlet和Netty对比:
这两个彷佛没什么可对比的,不过都是前身都是java,关系比较远netty

若是说把java当作元祖,Nio(这里指java的NIO)当作老爹,Tomcat和netty关系能够当作兄弟(Nio),tomcat跟nginx表兄关系(nginx跟nio没父子关系),那Servlet和netty能够当作堂兄关系(Servlet跟Nio不要紧)。
————————————————中间件

原文连接:https://blog.csdn.net/bibiboy...