Jetty和Netty有什么区别?

时间:2011-03-22 00:35:46

标签: jetty netty

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

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

Netty是否支持Servlets 3.0?

3 个答案:

答案 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 应用程序的框架。