使用Jetty还是Netty?

37

我们正在编写一个高性能的服务器来处理消息。我们已经使用Jetty几年了,非常喜欢它,但是Netty看起来有一些很酷的特性。特别是,它支持异步处理,因此一个线程不必等待系统处理给定的消息。它被设计用来解决C10k问题。

我知道Jetty在内部有一些NIO支持。它也有异步模型吗?

这些消息可能是以http格式出现的。在处理普通的http请求时,Netty是否比Jetty具有更好的性能优势?

我想要一个真正的servlet容器的所有便利功能,但不想降低性能成本。

1个回答

39

从6版本开始,Jetty就支持异步请求处理(请参见此处),使用专有API。最近的版本作为Servlet 3.0 API的一部分支持异步API,就像任何其他符合要求的实现一样。

除非您有非常具体的要求,否则使用Netty看起来会很费力而收益很小。否则,Jetty将以最小的工作量完成任务。


10
虽然我们已决定选择Netty,但你的建议不错。Servlet 3.0 API对于异步支持很复杂,难以理解并容易出错。此外,Netty在未来处理低级协议会更好。但你的回答很好。 - ccleve
3
@skaffman: 你有没有一些文章/博客的指引,其中更详细地讨论了Jetty和Netty之间的区别?从使用Netty还是坚持使用Jetty(或Tomcat等)的角度来看。 - Erik Kaplun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接