首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有用于Java的非阻塞web服务器?

是否有用于Java的非阻塞web服务器?
EN

Software Engineering用户
提问于 2011-10-06 18:26:05
回答 3查看 4.5K关注 0票数 3

我当时正在研究Facebook使用的基础设施,当时我正在为一个大学项目开发一个基于社交互动的网站。

Facebook正在使用龙卷风服务器作为其可伸缩、无阻塞的web服务器,但它是为Python编写的。我试图为Java找到类似的东西:我应该看什么?您在Java非阻塞web服务器方面有哪些经验?

EN

回答 3

Software Engineering用户

发布于 2011-10-06 20:09:36

奈蒂

Netty是一种高性能的事件驱动网络框架,它支持HTTP和其他公共协议。Netty使用非阻塞I/O,但它的使用级别很低。

播放框架

Play Framework是一个面向Java和Scala的现代web框架。它有一个非常短的开发周期-只是保存您的文件和更新您的浏览器。它受到Rails的启发。Play Framework默认基于Netty (嵌入式),但它也可以作为war文件在Java容器中使用。

几个月来我一直在使用Play Framework。这是一个易于使用的框架,它具有很好的性能,因为它是基于Netty的。如果您已经做了一些GUI编程,例如使用Swing,那么您以前也做过事件驱动的编程,这是相同的原则:在后台线程中执行所有长时间运行的处理,否则您的服务器将被阻塞,就像当线程被错误地使用时会阻塞GUI一样。

票数 6
EN

Software Engineering用户

发布于 2011-10-06 18:32:49

您可以在java容器前面使用ngnix作为代理。龙卷风和ngnix解决的问题是,套接字上的io是事件驱动的,而不是阻塞的,这将您的站立连接限制在大约10,000。在java环境中,您可以使用ngnix作为一个或多个java容器的反向代理/负载均衡器,并实现类似的可伸缩性。jboss的奈蒂等项目已经开始为java空间解决这个问题,但我不确定是否有任何商业实现使用它。

票数 3
EN

Software Engineering用户

发布于 2011-10-07 14:59:42

围绕构建服务器的活动上有一些阿帕奇米娜,但我不知道它有多远。该网页目前是相当轻的细节。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/112818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档