Jetty和Netty之间的主要区别是什么?
Netty是Jboss的一部分,但它是默认的Web服务器容器吗?
Netty是否支持Servlets 3.0?
答案 0 :(得分:175)
Jetty 是一个轻量级的servlet容器,易于嵌入java应用程序中,还有一个易于使用的jetty客户端。
Netty 是一个异步事件驱动的网络应用程序框架。 例如,您可以在Netty框架的帮助下编写自己的servlet容器或http客户端应用程序。
修改强>
忘记提及Jetty 8和Apache Tomcat 7支持servlet 3.0规范,但netty没有。因为它不是servlet容器。
答案 1 :(得分:34)
我认为随着时间的推移,重叠会随着两个项目添加新功能而增加。
以下是基准:https://gist.github.com/dhanji/81ccc0e6652eccaf43cf
Jetty 是一个Web服务器(HTTP),类似于Tomcat等,但比大多数servlet容器都要轻。这更接近传统的Java服务器应用程序(servlet,WAR文件)的方式。与Netty一样,它足够轻巧,可以嵌入到Java应用程序中。
Netty 是 NIO客户端服务器框架,可快速轻松地实现 开发网络应用程序,如协议服务器和 客户端。它极大地简化并简化了网络编程 例如TCP和UDP套接字服务器。 因此Netty专注于帮助编写NIO /非阻塞异步网络程序。
如果您经常处理网络协议并希望它是非阻塞的,请使用Netty(通常用于高性能情况)。如果你想要一个轻型HTTP servlet容器使用Jetty。
答案 2 :(得分:0)
这是粗略的简化,但可以轻松理解其中的区别:
Netty 是用于编写 TCP 应用程序的框架。
Jetty 是用于编写 HTTP 应用程序的框架。