سؤال

لقد كنت أستخدم PYAMF لكتابة نقطة خلفية لتطبيق Flex يطلب مجموعات مختلفة من مئات الصور المختلفة اعتمادا على ما يحتاجه العميل. لقد كنت أستخدم خادم WSGI "Simple_Server" الذي توفر PYAMF أثناء تطوير التعليمات البرمجية المرنة. الآن أنا مستعد لكتابة الخلفية القوية التي ستكون قادرا على سحب الصور من قاعدة بيانات MySQL وإرسالها بأسرع وقت ممكن وكفاءة ممكنة للعديد من العملاء المتزامنين.

إن وثائق PYAMF رائعة لأنها توفر العديد من الأمثلة لمتابعة، إلا أنني مرتبك حول أي نوع من الخلفية أحاول خلقها.

هل أريد Socketserver أو خادم WSGI أو شيء مثل الملتوية أو Web2py أو Tornado؟ هل هذه مختلفة تماما؟ :) يجب أن أستخدم وحدات Apache بدلا من ذلك (mod_wsgi أو modjy أو mod_python)؟

أدرك أن هذا ربما يمس على العديد من المناقشات المفتوحة، لذلك ربما يمكنك توجيهي فقط إلى أي ملخصات جيدة لهذه المناقشات؟

من الرائع أن يكون لديك الكثير من الخيارات، ولكن كيف أختار؟

هل كانت مفيدة؟

المحلول

الجواب القصير هو، بالطبع، أنه يعتمد على متطلبات مشروعك. كم عدد الاتصالات المتزامنة "كثيرا"؟ كم وقت مبرمج يمكنك رمي في المشكلة؟ ما مقدار الجهاز الذي يمكنك رميه في المشكلة؟ ...إلخ...

إذا كنت تخطط للحصول على الكثير من العملاء المتزامنين، فمن الصعب التغلب على الملتوية في عالم بيثون. ومع ذلك، سيتعين عليك التعامل مع قاعدة البيانات الخاصة بك بشكل غير متزامن لتجنب حظر، واعتمادا على مدى تعقيد تفاعلات قاعدة البيانات الخاصة بك، يمكن أن يكون هذا قليلا من الألم. أنت تقتصر أساسا على استخدام Twisted.enterprise.Adbapi أو الخروج مع تكامل Orm الملتوي الخاص بك.

إذا كنت تفضل الحصول على رمز قاعدة بيانات "سهلة" (أي تريد استخدام Orm)، فأنت أفضل حالا من مشروع (TurboGears / Pylons / Wsgi WSGI)، وربما يستضيف باستخدام Apache و MOD_WSGI. يمكن أن يكون هذا حلا قابلا للتطوير، وتحصل على الكثير من الأشياء مجانا باستخدام هذه الأطر، ولكن قد يكون أكثر مما تحتاج.

أود أن أتجنب استخدام واحدة من العديد من خوادم Python WSGI العادي هناك (WSGiref، Proper، إلخ) في الإنتاج إذا كنت تريد حقا أداء عالي.

حظ سعيد!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top