题 使用Jetty还是Netty?


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

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

消息可能是http格式。在做普通的旧http时,Netty是否比Jetty有任何性能优势?

我想拥有真正的servlet容器的所有便利功能,但不会以降低性能为代价。


23
2017-12-26 22:40


起源




答案:


自版本6以来,Jetty一直支持异步请求处理(参见 这里),使用专有API。与其他任何兼容的实现一样,更新版本支持异步API作为Servlet 3.0 API的一部分。

除非你有非常具体的要求,否则使用Netty似乎可以获得很少的收益。否则,Jetty会以最小的努力为您完成这项工作。


27
2017-12-26 23:51



很好的建议,虽然我们决定选择Netty。用于异步支持的servlet 3.0 api是错综复杂的。很难跟踪发生的事情并且容易搞砸。此外,Netty对于未来的低级协议处理将会更好。但你的答案是好的。 - ccleve
@skaffman:有什么指向一些文章/博客,其中更详细地讨论了Jetty vs Netty?从一个人的角度来看应该使用Netty还是坚持使用Jetty(或者Tomcat或者诸如此类的东西) - Erik Allik