Pregunta

He estado usando PyAMF escribir un backend para una aplicación Flex que solicitar diferentes grupos de cientos de imágenes diferentes en función de lo que el cliente necesita. He estado usando el "simple_server" servidor WSGI que los suministros PyAMF mientras se desarrolla el código de flexión. Ahora estoy listo para escribir un motor robusto que será capaz de sacar imágenes de una base de datos MySQL y enviarlos tan rápido como sea posible y tan eficientemente como sea posible para muchos clientes simultáneos.

La documentación PyAMF es grande, porque proporcionan muchos ejemplos a seguir, sin embargo estoy confundido acerca de qué tipo de back-end que estoy tratando de crear.

¿Quiero una SocketServer o un servidor WSGI o algo así trenzado o web2py o un tornado? Son estos incluso todos diferentes? :) debo utilizar módulos Apache lugar (mod_wsgi o modjy o mod_python)?

Me doy cuenta de que esto probablemente toca muchos debates abiertos, por lo que tal vez lo que me podría apuntar a cualquier buen resúmenes de estos debates?

Su genial tener tantas opciones, pero ¿cómo elegir?

¿Fue útil?

Solución

La respuesta corta es, por supuesto, que depende de los requisitos de su proyecto. ¿Cuántas conexiones simultáneas es "mucho"? ¿Cuánto tiempo programador se puede lanzar en el problema? La cantidad de hardware se puede lanzar en el problema? ... etc ...

Si usted planea tener una gran cantidad de clientes simultáneos, es difícil de superar en el mundo Twisted Python. Sin embargo, usted tiene que tratar con su base de datos de forma asíncrona para evitar el bloqueo, y dependiendo de la complejidad de sus interacciones son bases de datos, esto puede ser un poco de dolor. Básicamente, se está limitado a, ya sea usando twisted.enterprise.adbapi o subir con su propia integración trenzado ORM.

Si usted prefiere tener la base de datos de código "fácil" (es decir, desea utilizar un ORM), que es mejor ir con un proyecto (TurboGears / Pilones / plain wsgi), probablemente alojada usando Apache y mod_wsgi. Esto puede ser una solución muy escalable, y se obtiene un montón de cosas gratis con estos marcos, pero puede ser más de lo necesario.

Me gustaría evitar el uso de uno de los muchos servidores Python WSGI lisos por ahí (wsgiref, parche, etc.) en la producción si realmente desea un alto rendimiento.

Buena suerte!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top