0

我一直在使用 PyAMF 为 flex 应用程序编写后端,该应用程序将根据客户的需要请求数百个不同图像的不同组。在开发 flex 代码时,我一直在使用 PyAMF 提供的“simple_server”WSGI 服务器。现在我准备编写一个强大的后端,它能够从 mySQL 数据库中提取图像,并尽可能快、尽可能高效地将它们发送给许多并发客户端。

PyAMF 文档很棒,因为它们提供了许多示例,但是我对我要创建的后端类型感到困惑。

我想要一个 SocketServer 或一个 WSGI 服务器或类似 Twisted、web2py 或 Tornado 的东西吗?这些甚至都不同吗?:) 我应该改用 Apache 模块(mod_wsgi 或 modjy 或 mod_python)吗?

我意识到这可能涉及许多公开辩论,所以也许你可以指出我对这些辩论的任何好的总结?

有这么多选择真是太好了,但是我该如何选择呢?

4

1 回答 1

0

当然,简短的回答是,这取决于您项目的要求。有多少并发连接是“很多”?你可以花多少程序员时间来解决这个问题?你能用多少硬件来解决这个问题?...ETC...

如果您计划拥有大量并发客户端,那么在 Python 世界中很难击败 Twisted。但是,您必须异步处理数据库以避免阻塞,并且根据您的数据库交互的复杂程度,这可能会有点痛苦。您基本上仅限于使用twisted.enterprise.adbapi 或提出您自己的twisted-ORM 集成。

如果您希望拥有“简单”的数据库代码(即您想使用 ORM),那么您最好使用(TurboGears/Pylons/plain wsgi)项目,该项目可能使用 Apache 和 mod_wsgi 托管。这可能是一个非常可扩展的解决方案,您可以使用这些框架免费获得很多东西,但它可能超出您的需要。

如果你真的想要高性能,我会避免在生产中使用许多普通的 python wsgi 服务器之一(wsgiref、paster 等)。

祝你好运!

于 2009-09-30T20:26:34.533 回答