我一直在使用PyAMF为一个flex应用程序编写一个后端,它将根据客户的需要请求数百张不同的图像。在开发flex代码时,我一直在使用PyAMF提供的"simple_server“WSGI服务器。现在,我已经准备好编写一个健壮的后端,它能够从mySQL数据库中提取图像,并尽可能快、尽可能高效地将它们发送到多个并发客户端。
PyAMF文档很棒,因为它们提供了许多可遵循的示例,但我对我试图创建的后端感到困惑。
我是想要一个SocketServer或WSGI服务器,还是像Twisted、web2py或Tornado这样的服务器?这些都是不同的吗?:)我应该使用Apache模块(mod_wsgi、modjy或mod_python)吗?
我意识到这可能涉及到许多公开辩论,所以也许你可以给我指出这些辩论的任何好的总结?
有这么多选择是很棒的,但我该如何选择呢?
发布于 2009-09-30 20:26:35
当然,简短的答案是,这取决于您的项目的需求。多少个并发连接才是“大量”?你能在这个问题上投入多少程序员的时间?你能投入多少硬件来解决这个问题?...etc...
如果您计划拥有大量并发客户端,那么在Python世界中很难击败Twisted。但是,您必须异步处理数据库以避免阻塞,并且根据数据库交互的复杂程度,这可能有点麻烦。基本上,您只能使用twisted.enterprise.adbapi或提出自己的扭曲ORM集成。
如果你更喜欢“简单”的数据库代码(例如,你想使用对象关系映射),你最好使用(TurboGears/Pylons/plain wsgi)项目,可能是使用Apache和mod_wsgi托管的。这可以是一个非常可扩展的解决方案,使用这些框架你可以免费获得很多东西,但它可能比你需要的更多。
我会避免使用许多普通的python wsgi服务器(wsgiref、paster等)。如果你真的想要高性能的话。
祝好运!
https://stackoverflow.com/questions/1449105
复制相似问题