Frage

Ich habe PyAMF wurde mit einem Back-End für eine Flex app zu schreiben, die verschiedenen Gruppen von Hunderten von verschiedenen Bildern anfordern, je nachdem, was der Kunde braucht. Ich habe mit den „simple_server“ WSGI-Server, der PyAMF liefert, während der Flex-Code zu entwickeln. Jetzt bin ich bereit, eine robuste Backend zu schreiben, die die Lage, Bilder von einer mySQL Datenbank zu ziehen und sie so schnell wie möglich und so effizient wie möglich zu vielen gleichzeitigen Clients senden.

Die PyAMF Dokumentation ist groß, weil sie viele Beispiele folgen liefern, aber ich bin verwirrt darüber, welche Art von Back-End-I zu schaffen versuchen.

Sie möchte ich eine Socket oder ein WSGI-Server oder so etwas wie Verdrehte oder web2py oder Tornado? Sind diese auch alle anders? :) Sollte ich stattdessen Apache-Module werden (mod_wsgi oder modjy oder mod_python)?

Ich weiß, dass dies wahrscheinlich auf viele offene Debatten berührt, vielleicht könnten Sie mir nur zeigen auf jeder gute Zusammenfassungen dieser Debatten?

Seine große so viele Möglichkeiten zu haben, aber wie wähle ich?

War es hilfreich?

Lösung

Die kurze Antwort ist natürlich, dass es auf die Anforderungen Ihres Projekts abhängt. Wie viele gleichzeitige Verbindungen ist „viel“? Wie viel Programmierer Zeit kann man auf das Problem werfen? Wie viel Hardware kann man auf das Problem werfen? ... etc ...

Wenn Sie viele Clients gleichzeitig haben, ist es schwer Verdrehte in der Python-Welt zu schlagen. Allerdings werden müssen Sie asynchron mit Ihrer Datenbank umgehen zu vermeiden, blockiert, und je nachdem, wie komplex Ihre Datenbank-Interaktionen sind, kann dies ein bisschen wie ein Schmerz sein. Sie sind grundsätzlich beschränkt auf entweder twisted.enterprise.adbapi verwenden oder mit Ihrer eigenen Twisted-ORM Integration kommen.

Wenn Sie eher „easy“ Datenbank-Code haben würde (das heißt Sie wollen ein ORM verwenden), du bist besser dran, wenn man mit einem (Turbogears / Pylone / plain wsgi) Projekt gehostet wahrscheinlich Apache und mod_wsgi verwenden. Dies kann eine ziemlich skalierbare Lösung sein, und Sie eine Menge Sachen kostenlos zu bekommen, diese Frameworks, aber es kann mehr als Sie benötigen.

würde ich da draußen mit einem der vielen Ebene Python wsgi Servern vermeiden (wsgiref, Paster, etc.) in der Produktion, wenn Sie wirklich hohe Leistung wollen.

Good Luck!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top