Jetty和Netty有什么区别?

use*_*584 129 jetty netty

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

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

Netty是否支持Servlets 3.0?

mor*_*itz 187

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

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

编辑:

忘记提到Jetty 8和Apache Tomcat 7支持servlet 3.0规范,但netty没有.因为它不是servlet容器.

  • @ Sridhar-Sarnobat是的,Netty用于传输层,而jetty专门用于面向http的应用程序.使用Netty,您可以非常精确地优化您的消息框架和编码/解码,而您仍然坚持使用带有Jetty的HTTP. (13认同)
  • Jetty也是一个Http Server.它是捆绑的.Http Server和Application Server/Servlet容器 (7认同)
  • 我仍然没有看到两者之间的关系.Netty是传输层逻辑,而jetty是应用层逻辑吗? (4认同)
  • 这只是给出了每个网站上的标语。 (4认同)

Raf*_*eev 48

这是粗略的简化,但它允许轻松理解差异:

Netty是一个编写TCPUDP应用程序的框架。

Jetty是一个编写HTTP应用程序的框架。

  • 好的答案很短 (3认同)
  • 足够简洁。 (2认同)

Chr*_*ssy 41

我认为随着时间的推移,两个项目都会增加新功能.

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