Question

Je me sers PyAMF pour écrire un back-end pour une application flexible qui demandera différents groupes de centaines d'images différentes en fonction de ce que le client a besoin. J'utilise le serveur WSGI « de simple_server » qui fournit PyAMF tout en développant le code flex. Maintenant, je suis prêt à écrire un backend robuste qui sera en mesure de tirer des images à partir d'une base de données mySQL et les envoyer aussi vite que possible et le plus efficacement possible à de nombreux clients simultanés.

La documentation PyAMF est grande parce qu'ils fournissent de nombreux exemples à suivre, mais je suis confus au sujet de ce genre de back-end, je suis en train de créer.

Est-ce que je veux un SocketServer ou un serveur WSGI ou quelque chose comme tordu ou web2py ou Tornado? Sont-ils même tous différents? :) dois-je utiliser des modules Apache à la place (ou mod_wsgi modjy ou mod_python)?

Je me rends compte que cela touche probablement à de nombreux débats ouverts, alors peut-être que vous pourriez me montrer à tous les bons résumés de ces débats?

Son grand d'avoir tant d'options, mais comment choisir?

Était-ce utile?

La solution

La réponse courte est, bien sûr, que cela dépend des exigences de votre projet. Combien de connexions simultanées est « beaucoup »? Combien de temps pouvez-vous jeter programmeur au problème? Combien pouvez-vous jeter le matériel au problème? ... etc ...

Si vous prévoyez d'avoir beaucoup de clients simultanés, il est difficile de battre Twisted dans le monde Python. Cependant, vous devrez traiter votre base de données de manière asynchrone pour éviter le blocage, et selon la façon dont les interactions complexes de vos bases de données sont, cela peut être un peu de douleur. Vous êtes essentiellement limité à l'aide soit twisted.enterprise.adbapi ou à venir avec votre propre intégration torsadée ORM.

Si vous préférez avoir un code de base de données « facile » (à savoir que vous souhaitez utiliser un ORM), vous êtes mieux d'aller avec un (TurboGears / Pylons / wsgi ordinaire) projet, probablement hébergé à l'aide d'Apache et mod_wsgi. Cela peut être une solution assez évolutive, et vous obtenez beaucoup de choses gratuitement en utilisant ces cadres, mais il peut être plus que vous avez besoin.

J'éviter d'utiliser l'un des nombreux serveurs wsgi python clair là-bas (wsgiref, emplâtre, etc.) dans la production si vous voulez vraiment haute performance.

Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top