哪个NIO库(Netty,Grizzly,kryonet等)用于Java中简单的后端服务器实现?

2022-09-01 21:08:59

我们的前端是简单的Jetty(以后可能会被Tomcat取代)服务器。通过 servlet,我们提供了一个公共 HTTP API(或多或少是 RESTful)来公开我们的产品功能。

在后端,我们有一个Java进程,它执行几种维护任务。虽然后端进程通常在时间到时候自己执行任务,但前端需要唤醒后端才能在后台执行某个任务。

哪个 (N)IO 库最适合此任务?我找到了Netty,Grizzly,kryonet和普通的RMI。就目前而言,我倾向于说Netty,它似乎易于使用,并且可能非常可靠。

你们中是否有人有这种设置的经验?你会选择什么?

谢谢!


答案 1

尝试翻译此文档以回答您的问题。http://blog.xebia.fr/2011/11/09/java-nio-et-framework-web-haute-performance/

作为法国著名的Java EE专家,这个协会在VmWare(USI2011)赞助的法国挑战赛的背景下做了很多NIO服务器的poc。这是关于构建一个简单的测验应用程序,可以处理100万连接用户的负载。

他们以优异的成绩赢得了这一挑战。他们的实现是Netty + Gemfire,他们只用MemoryAwareThreadPool替换了CachedThreadPool。

Netty似乎提供了出色的表演,并且有据可查。

他们也考虑过Deft,灵感来自Tornado(python/facebook),但对他们来说仍然有点不成熟。

编辑:这是评论中提供的翻译链接


答案 2

我更喜欢Netty。它简单而灵活。非常快,Netty周围的社区很棒。


推荐