سؤال

شعبية مثل روبي و القضبان, يبدو أن هذه المشكلة قد حلت.JRuby و mod_rails كلها على ما يرام ومدهش ، ولكن لماذا ليس هناك طائرة أباتشي وزارة الدفاع فقط مباشرة روبي ؟

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

المحلول

المشكلة الأساسية هي هذه:لفترة طويلة, التصوير بالرنين المغناطيسي هو الوحيد الممكن تنفيذ روبي.التصوير بالرنين المغناطيسي لديها عدد من المشاكل التي تجعل من الصعب على تضمين ذلك في تطبيق آخر (الذي هو في الأساس ما mod_ruby لا:فإنه يضمن التصوير بالرنين المغناطيسي في أباتشي) ، وخاصة متعدد الخيوط (الذي أباتشي).فمن لا سيما مؤشر الترابط-الآمن ولها قدرا كبيرا من الدولة العالمية.

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

مشكلة أخرى هي أن التصوير بالرنين المغناطيسي البرمجية المصدر ليس بسهولة hackable.التصوير بالرنين المغناطيسي هو الآن أكثر من 15 عاما ، بدأت تظهر.

ونتيجة لهذه المشاكل ، mod_ruby لم حقا صحيح عملت في بعض نقطة مشرفي ببساطة تخلى.

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

Phusion الركاب (الملقب mod_rack الملقب mod_rails) يحل هذه المشكلة عن طريق إعطاء الأساس و الالتفاف على المشكلة:انهم ببساطة تشغيل منفصلة نسخة من التصوير بالرنين المغناطيسي في عملية منفصلة لكل تطبيق.يعمل كبيرة ، ليس فقط من أجل روبي.وهو يدعم WSGI (معيار واجهة ويب بيثون الأطر), رف (معيار واجهة روبي ويب الأطر) و الدعم المباشر روبي على القضبان.

آمالي على mod_rubinius, التي للأسف لا توجد حتى الآن. Rubinius تم تصميمه من البداية إلى أن مؤشر الترابط-الآمن, ادراجها مجانا من الدولة العالمية ، وليس استخدام C كومة وهلم جرا.وقد صممت لتكون قادرة على تشغيل متعددة Rubinius VMs داخل أحد Rubinius العملية.وهذا يجعل mod_rubinius بلا حدود أسهل لتنفيذ وصيانة من mod_ruby.للأسف بالطبع Rubinius لم يصدر بعد, و العمل الحقيقي على mod_rubinius حتى لا تبدأ حتى Rubinius يتم تحريرها.والخبر السار هو أن mod_rubinius بالفعل المزيد من القوى العاملة وراء ذلك من mod_ruby من أي وقت مضى ، لأن ذلك قد يدفع المطورين العمل على ذلك من قبل القضبان شركة استضافة ماسة يريد استخدامه أنفسهم.

نصائح أخرى

هناك Phusion الركاب, قوي وحدة اباتشي التي يمكن تشغيلها رف التطبيقات مع الحد الأدنى من التكوين.انها أصبحت جذابة المضيفين المشتركة و تشغيل أي برنامج في رف التطبيق من السهل يبعث على السخرية:

رف التطبيق هو روبي وجوه (وليس فئة) أن يستجيب call.يستغرق بالضبط حجة واحدة, ، البيئة و إرجاع صفيف بالضبط ثلاث قيم:حالة ، ورؤوس الجسم.

ربما يستحق مزدوجة-توضيح mislav بأنه mod_rails ليس فعلا يقتصر على القضبان رمز على الإطلاق.الاسم الجديد ، mod_rack, طريقة أفضل.مسلي التطبيقات الصغيرة يمكن rackable -- على سبيل المثال ما يلي:

class HelloWorld
  def call(env)
    [200, {"Content-Type" => "text/plain"}, ["Hello world!"]]
  end
end

هناك واحد: mod_ruby, ولكن لم يتم الاحتفاظ بها في حوالي 2 سنوات.

هناك mod_rails و يمكن تشغيله رف تطبيقات أكثر ما يمكن أن تريد ؟

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