2009-05-11 11 views
13

मैंने कुछ किताबों से पढ़ा है कि फ़्यूज़न पैसेंजर रेल तैनाती पर आसान रूबी का उत्तर है। लेकिन मेरे दोस्त ने कहा कि सबसे पहले अपाचे + मोन्गल्स का गुच्छा था, और फिर लाइटटैड, और फिर nginx, और अब यात्री, और यह अंतहीन लगता है ...क्या अंततः रेल_ परिनियोजन पर रूबी का जवाब mod_rails या फ़्यूज़न पैसेंजर है?

उन्होंने यह भी कहा कि वह सपनेहोस्ट का उपयोग करता है जो यात्री का उपयोग करता है, और कभी-कभी वह अपने अनुरोध को संसाधित नहीं किया जा रहा है।

तो मुझे आश्चर्य है कि क्या यात्री RoR परिनियोजन का अंतिम उत्तर है? क्या आप इसका उपयोग करते हैं और यह जांचने के लिए "ab" कमांड का उपयोग करते हैं कि साइट बहुत अच्छी तरह से कर रही है या नहीं?

+0

ड्रीमहोस्ट पर, आपका मित्र यात्री समस्या के बजाए प्रति उपयोगकर्ता मेमोरी छत में भाग ले रहा है। देखें: http://stackoverflow.com/questions/824783/rails-app-randomly-crashes-with-error-premature-end-of-script-headers –

उत्तर

20

संक्षिप्त उत्तर: हाँ।

लंबा उत्तर: yeeeeeeeeeeeeeeesssssssssssssssss।

सभी गंभीरता में, फ़्यूज़न पैसेंजर और रूबी एंटरप्राइज़ संस्करण ने रेल ऐप को उत्पादन में लाने के सभी दर्दों को काफी हद तक बाहर निकाला है। मोंगरेल्स के एक सूट को चलाने सहित पिछले दृष्टिकोणों में, यात्रियों को पारदर्शी रूप से संभालने, या सरल अपाचे (या nginx) कॉन्फ़िगरेशन विकल्पों के माध्यम से प्रारंभिक, रोकना और रीसाइक्लिंग श्रोता प्रक्रियाओं के आसपास बहुत सारे सेटअप की आवश्यकता होती है। और आरईई के पूरक कचरा कलेक्टर का मतलब है कि एक नया श्रोता बंद करने से बहुत कम मेमोरी का उपयोग होता है, और बूट करने के लिए तेज़ होता है (यात्री के "स्मार्ट" स्पॉन्गिंग मोड में)।

संपादित करें: @srboisvert एक बहुत अच्छा बिंदु बनाता है; यात्री आरओआर तैनाती का अंतिम जवाब नहीं है, लेकिन अभी तक यह अब तक मेरा पसंदीदा है। एक दिन, बहुत सी हार्ड इंजीनियरिंग समस्याओं का हल होने के बाद, मुख्यधारा रूबी शायद एक बहु-प्रक्रिया मॉडल का उपयोग करके एकल प्रक्रिया मॉडल में आरओआर की मेजबानी से आगे बढ़ेगी, जो यात्री के मुकाबले प्रबंधन को आसान बनाती है।

+1

लंबे उत्तर के लिए +1: yeeeeeeeeeeeeeeesssssssssssssssss। मैं हंसते हुए फट गया हूं और अभी भी हँस रहा हूं। –

3

हां, यह सबसे आसान, तेज़ और सबसे कुशल समाधान है। सोप 4r आदि जैसे रत्नों के साथ कई समस्याओं के बाद हालिया रिलीज में हल किया गया था, यात्री अब तैनाती के सवालों का जवाब है।

हम एक संतुलित वातावरण में अपाचे/mod_rails चला रहे हैं जिसमें 2 सर्वर के सामने हैप्रोक्सी है। यह Mongrel/Aapache का उपयोग कर हमारे पिछले सेटअप की तुलना में अधिक विश्वसनीय है।

यह

  • यात्री प्रक्रियाओं की राशि के एक नंबर में सुधार करने के दर्द के बिना आवेदन
  • प्रति चल रहा है और वह सब अपाचे में चल रहे यात्री प्रक्रियाओं की राशि

    • पर नियंत्रण लेने के लिए बहुत आसान है mod_proxy, अपाचे जैसे कॉन्फ़िगरेशन फ़ाइलें।
    • एक आभासी मेजबान स्थापित करने और अपने अपाचे config करने के लिए 3 लाइनों को जोड़ने यह

    मैट

  • 3

    अंतिम उत्तर चल पाने के लिए मूल रूप से पर्याप्त है? अंतिम जवाब कभी भी नहीं है।

    मैं कहूंगा कि यात्री वर्तमान जवाब है।

    +2

    अंतिम जवाब तब तक नहीं है जब तक कि आप "करोड़पति बनना चाहते हैं" का खेल खेल रहे हों। –

    4

    अब तक का सबसे अच्छा समाधान है। मैंने एफसीजीआई के साथ तैनाती शुरू कर दी और यह दर्द था। फिर मोंगेल आया और यह बेहतर था। फिर mod_rails आया और यह बेहतर तरीका था।

    इसके अलावा बहुत सारे बड़े ठंडा आवेदन mod_rails में माइग्रेट कर रहे हैं जिनमें से कुछ 37 सिग्नल हैं, इसलिए आप जानते हैं कि यह अच्छा है।

    मैं सिर्फ DHH से एक उद्धरण के साथ समाप्त कर देंगे:

    एक अपाचे के साथ Phusion यात्री वन-पीस समाधान

    आप अविश्वसनीय रूप से सरल स्थापना पूरा करने के बाद आपको मिल जो दोनों वेब सर्वर के रूप में कार्य करता है, बैलेंसर, एप्लिकेशन सर्वर और प्रक्रिया वॉचर लोड करें। आप में अपने एप्लिकेशन को बस छोड़ दें और tmp/restart.txt स्पर्श करें जब आप बाउंस करना चाहते हैं और बाम, आप ऊपर हैं और चल रहे हैं।

    लेकिन किसी भी तरह की यात्री संदेश एक छोटे से सिंक करने के लिए धीमी गति से किया गया है। वहां पहले से ही बड़ी साइटों के लिए ढेर बंद यह चल रहा है। शॉपिफ़ाई सहित, एमटीवी, जेनी, यामर, और हम को पहले ता-दा सूची में जल्द ही ले जायेंगे, फिर उम्मीद है कि शेष 37 सिग्नल इसके तुरंत बाद सूट।

    तो वहाँ अभी भी मैन्युअल रूप से कॉन्फ़िगर टुकड़े की अपने स्वयं के कस्टम बहु स्तरीय सेटअप चलाने के कारण हैं, जबकि, बस उनके ब्यौरे के लिए mod_php से दूर शर्मा कर लोगों की तरह, मुझे लगता है कि हम अंततः पर बसे गया है एक डिफ़ॉल्ट उत्तर। कुछ ऐसा जो की आवश्यकता नहीं है, आप वास्तव में अपने रेल अनुप्रयोग के पहले परिनियोजन के बारे में सोचने के लिए सोचते हैं। कुछ ऐसा जो सिर्फ बॉक्स से बाहर काम करता है। भले ही वह बॉक्स एक साझा होस्ट हो!

    निष्कर्ष में, रेल अब तैनात करने के लिए हार्ड नहीं है। फ़्यूज़न पैसेंजर ने को हास्यास्पद रूप से आसान बना दिया है।

    (via)

    1

    मुझे लगता है कि अब लोगों को कई वर्षों के लिए mod_rails लागू हो जाएगा। मॉड्यूल वास्तव में अच्छा है। कॉन्फ़िगरेशन मृत सरल है। कुछ बेहतर समाधान के साथ इसे बदलना मुश्किल होगा। Mod_php के समान। एकमात्र महत्वपूर्ण घटक जो गायब है: विंडोज पोर्ट।

    2

    हां। मैं Apache के सामने Nginx/यात्री चला रहा हूं जिसके लिए अभी भी PHP की आवश्यकता है क्योंकि कुछ हफ्ते पहले 2.2.0 रिलीज़ हुई थी। विशेष रूप से रुबी एंटरप्राइज़ संस्करण के साथ, यह उस दृष्टिकोण तक पहुंचता है जिसे मैं "परिपूर्ण" कहूंगा।

    1

    कुछ स्थितियों (एंटरप्राइज़, आदि) में JVM भी एक अच्छा विकल्प हो सकता है।