Pergunta

Eu tenho usado PyAMF para escrever um backend para um aplicativo Flex que irá solicitar diferentes grupos de centenas de imagens diferentes dependendo do que o cliente precisa. Tenho vindo a utilizar o "simple_server" servidor WSGI que os suprimentos PyAMF ao desenvolver o código flex. Agora estou pronto para escrever um backend robusto que vai ser capaz de puxar as imagens a partir de um banco de dados mySQL e enviá-los o mais rápido possível e da forma mais eficiente possível para muitos clientes simultâneos.

A documentação PyAMF é grande porque eles fornecem muitos exemplos a seguir, no entanto Estou confuso sobre que tipo de backend Eu estou tentando criar.

Do Quero um SocketServer ou um servidor WSGI ou algo parecido torcido ou web2py ou Tornado? São estes mesmo tudo diferente? :) Deveria eu estar usando módulos do Apache vez (mod_wsgi ou modjy ou mod_python)?

Eu percebo que isso provavelmente toca em muitos debates abertos, então talvez você poderia apenas me aponte para alguma boa resumos destes debates?

Seu ótimo ter tantas opções, mas como faço para escolher?

Foi útil?

Solução

A resposta curta é, naturalmente, que depende dos requisitos do seu projeto. Quantas conexões simultâneas é "muito"? Quanto tempo programador que você pode jogar com o problema? Quanto hardware que você pode jogar com o problema? ... etc ...

Se você pretende ter um monte de clientes simultâneos, é difícil de bater torcida no mundo Python. No entanto, você vai ter que lidar com seu banco de dados de forma assíncrona para evitar o bloqueio, e dependendo de quão complexo suas interações de banco de dados são, isso pode ser um pouco de dor. Você está basicamente limitada a um ou outro usando twisted.enterprise.adbapi ou chegando com a sua própria integração twisted-ORM.

Se você preferir ter código de banco de dados "fácil" (ou seja, você quer usar um ORM), é melhor ir com um projeto (TurboGears / Pilares / wsgi plain), provavelmente hospedado usando Apache e mod_wsgi. Esta pode ser uma solução muito escalável, e você terá um monte de coisas de graça usando estes quadros, mas pode ser mais do que precisa.

Gostaria de evitar o uso de um dos muitos servidores simples python WSGI lá fora (wsgiref, paster, etc.) na produção se você realmente quer alto desempenho.

Boa sorte!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top