2

我正在寻找一个基于 Python 的非阻塞 Web 服务器环境,该环境旨在处理大量同时连接并在重负载 ( C10K ) 下做出响应。我需要它作为我的 web 应用程序的后端。在典型的场景中,webapp 客户端将使用 WebSockets 对服务器进行多次调用。

到目前为止,我在 python 领域找到了 2 个选项。

在 python 之外当然有 node.js,但如果可能的话,我更喜欢 python 编码环境。

您会推荐以上两个(或其他我不知道的)中的哪一个?什么是利弊?或者我应该通过为 web.py 编写一些非阻塞前端来推出自己的框架?

我担心的是,虽然上述两个项目似乎都有很好的社区支持,但它们不像 Django、CherryPy、Pylon 等那样主流。因此我害怕做出将来可能会导致支持不佳的选择。

4

2 回答 2

4

作为 Twisted 的核心开发者之一,我强烈推荐你使用 Twisted。:)

首先,因为它是一个优秀的库,拥有致力于高质量软件的开发团队。Twisted 提供了极其广泛的功能,从(性能良好的) 简单的 Web 服务器到数据库集成(基于 Twisted 本身的线程或txmysqltxpostgres中的无线程,单独分发)到支持其他协议,像 FTP、DNS、XMPP、SMTP 等等。是的,甚至是 WebSockets

其次,因为它是大型网络服务器的一个很好的解决方案,就像你在 Python 中找到的一样。由于您对C10K很熟悉,我想我不需要过多阐述。可以说,Twisted已在大型系统中反复使用以处理大量连接

第三,因为有一个不会很快消失的大型活跃社区,它提供了许多支持选项。将邮件列表、IRC 频道和 stackoverflow 放在一起,不乏获得帮助的方法。

于 2011-05-06T11:41:33.463 回答
3

还有更多好的选择。您应该查看Nicolas Piel对异步 python 服务器的非常好的评论。

于 2011-05-06T08:19:49.130 回答