乐趣区

关于java:Tomcatservlet以及netty之间的简单区别

Tomcat(这里以 tomcat 代表 web 服务器)和 Servlet 比照:
Tomcat 能够了解成用于 http 平台的服务器,能承受 http 的申请并剖析。

Servlet 是 java 外部的一种标准,精确的说,他能够对参数进行剖析,创建对象而后返回数据。

这两者比照,差不多就是 Tomcat 负责申请连贯,断开连接,连贯校验等操作,Servlet 次要解决外部数据操作,留神这个对申请的操作实际上是最简单的。

 

Tomcat 和 Netty 比照:
tomcat 是 web 服务器,次要针对 http 协定,netty 反对各种协定,本人造协定都 OK,当然 netty 也能封装 http 协定,所以也当然能够用 netty 当做 web 服务器。

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 协定,消息中间件,或者其余畛域的网络通讯。

 

Servlet 和 Netty 比照:
这两个仿佛没什么可比照的,不过都是前身都是 java,关系比拟远

如果说把 java 当做元祖,Nio(这里指 java 的 NIO)当做老爹,Tomcat 和 netty 关系能够当做兄弟(Nio),tomcat 跟 nginx 表兄关系(nginx 跟 nio 没父子关系),那 Servlet 和 netty 能够当做堂兄关系(Servlet 跟 Nio 没关系)。
————————————————

原文链接:https://blog.csdn.net/bibiboy…

退出移动版