Jetty和Netty有什么区别?


143

Jetty和Netty之间的主要区别是什么?

Netty是Jboss的一部分,但是它是默认的Web服务器容器吗?

Netty是否支持Servlets 3.0?

Answers:


199

Jetty是一个轻量级的servlet容器,易于嵌入到Java应用程序中,还有一个易于使用的jetty客户端。

Netty是异步事件驱动的网络应用程序框架。例如,您可以在Netty框架的帮助下编写自己的servlet容器或http客户端应用程序。

编辑:

忘了提及Jetty 8和Apache Tomcat 7支持servlet 3.0规范,但netty不支持。因为它不是servlet容器。


8
码头也是一个Http服务器。它捆绑在一起。Http服务器和应用程序服务器/ Servlet容器
KyelJmD

6
我仍然看不到两者之间的关系。Netty是用于传输层逻辑,而码头是用于应用层逻辑吗?
Sridhar Sarnobat

15
@ Sridhar-Sarnobat是的,Netty用于传输层,而码头则专门用于面向HTTP的应用程序。借助Netty,您可以非常精确地优化消息框架,并非常精确地进行编码/解码,而Jetty却使您陷入HTTP困境。
laughing_man

1
这只是在每个网站上提供了标语。
swade

49

我认为随着时间的推移,随着两个项目都增加新功能,重叠部分会增加。

这是一个基准: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。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.