هل هناك بدائل CGI (و هل أنا حقا بحاجة واحدة) ؟

StackOverflow https://stackoverflow.com/questions/139760

  •  02-07-2019
  •  | 
  •  

سؤال

أنا تصميم أحد التطبيقات التي سوف تتكون من 3-4 الخدمات التي تعمل منفصلة العمليات ترتبط مناسبة IPC.النظام سوف يكون واجهة ويب و أريد أن استخدام أي خادم الويب هو هناك.

واجهة ويب يجب أن يكون الوصول إلى بعض عناوين URL التي يسمح لها عناوين url الأخرى على نفس خادم تفعل أشياء مختلفة تماما.أنا تخطط لاستخدام المسار تحت عنوان URL هذا لتحديد ما واجهة ويب ينبغي القيام به.وقد مرافق للاستخدام من قبل تطبيقات أخرى على الشبكة و البشر للتفاعل مع في المتصفح.

قبالة الكفة ، سأعمل على النحو التالي:

  • جعل خادم النار حتى CGI عملية لكل طلب يتلقى (مثل SetHandler في اباتشي)
  • السماح CGI الاتصال IPC
  • دعونا الحصول على كل ما يحتاجه من الخدمات الخلفية
  • السماح CGI العودة HTML / XML و مهما كانت حالة HTTP استنادا إلى خدمات الإجابات

الآن ما أريده حقا هو تجنب الخطوات الأولى والثانية ، أو إذا كنت لا يمكن تجنب الثانية, لأنني أخشى أنني إضاعة الأداء على unneccesary النفقات العامة (الطلبات القادمة من التطبيقات الأخرى قد تكون متكررة).

PHP, على سبيل المثال, يمكن فتح الاتصالات المستمرة إلى قاعدة بيانات MySQL التي البقاء على قيد الحياة السيناريو وقت التشغيل ولا تحتاج إلى أن يعاد في المرة القادمة, على الرغم من أنني لا أعرف كيف تفعل ذلك في الواقع.أيضا ، كما أفهمها ، أباتشي وحدات يتم تحميلها مرة واحدة عند بدء تشغيل الملقم بحيث يمكن إزالة الخطوة الأولى ولكن ربطي أباتشي.

إذا ما هي طرق جيدة ربط معالج عناوين محددة في مزودات الويب?أنا لا أريد أن التعامل مع HTTP وإلا ربما فقط استخدام وكيل الإعداد الثانية الخادم ، ولكن يبدو أن ذلك إعادة اختراع عجلة.إذا كنت تعتقد, CGI هو بخير و الأمثلة حيث أنه يتعامل مع عدد كبير من طلب بنية مماثلة ، واسمحوا لي أن أعرف.

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

المحلول

حسنا, أنا التغاضي عن هذا سابقا.موضحا سؤالي هنا جلبت لي على ذلك:

بدلا من إنشاء عملية جديدة لكل طلب ، FastCGI يمكن استخدام واحد المستمرة العملية التي يعالج العديد من الطلبات طوال عمره.-- ويكيبيديا:FastCGI

نصائح أخرى

حتى تحت الأحمال المعتدلة CGI جدا unscalable الوحش.FastCGI هو الخيار ، ولكن عليك ربما تجد أيضا mod_XXXX الحزمة حيث XXXX هو اسم اللغة الخاصة بك.هناك وزارة الدفاع عن ruby, perl و python على سبيل المثال وربما العادلة قليل من الآخرين.

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