我正在开发一个需要高可扩展性的 RESTfull 应用程序。我正在考虑为 RESTfull 应用程序构建基于 Netty 的框架。我浏览了一些可用的选项,并试图获得它们作为非阻塞实现所能提供的东西。以下是我的发现:
- rest.li --> 基于 Netty 的 NIO 实现仍处于实验阶段。所以,还没有准备好生产。
- RESTEasy --> 支持 Netty 4.x 的标准 JBoss 项目。但是,RESTEasy 不是基于 Netty 的全栈 NIO 实现,而是 Netty 和 RESTEasy 之间的 Buffer 交换。它没有利用 Netty 的优势。因此,可扩展性并不像基于 Netty 的框架所期望的那么高。
- Netty-http 组件 --> 另一个选项是 Apache Camel 集成,同时使用 Netty-http 组件作为端点,将请求路由到从 bean 中公开的服务。我认为它与 RESTEasy 相同,只有 Netty-http 组件使用基于 Netty 的 NIO 功能,系统的其余部分将使用旧的 IO。我认为我对获得可扩展性没有多大帮助。
- RESTExpress --> 它声称是基于 Netty 的 RESTFull 应用程序框架。但是,对于需要高度安全性的企业应用程序,它既没有像样的社区,也不能被信任(因为它是非常新的)。
在获得上述发现之前,我想使用一些现成的框架并更快地完成工作。
我知道这是一个基于意见的问题。但是,我仍然非常需要帮助来为我的应用程序选择正确的框架。如果以防万一,没有基于 Netty 的 REST 框架:在我的应用程序中使用基于 Netty 的低级 NIO 代码是否明智?任何帮助表示赞赏。提前致谢。