2012-11-27 17 views
5

मैं 8 मशीनों (लोड-संतुलित) पर चल रहे रेल ऐप पर काम करने के लिए पेपरक्लिप छवि अपलोड कैसे प्राप्त करूं?पेपरक्लिप + भार संतुलित मशीनों के साथ रेल

कोई उपयोगकर्ता ऐप पर एक छवि अपलोड कर सकता है। छवि मशीनों में से एक पर संग्रहीत है। उपयोगकर्ता बाद में छवि का अनुरोध करता है, लेकिन यह नहीं मिला है, क्योंकि यह किसी अन्य मशीन से अनुरोध किया जा रहा है।

इस प्रकार की समस्या के लिए क्या काम है? मैं एडब्ल्यूएस या किसी क्लाउड सेवा का उपयोग नहीं कर सकता; छवियों को घर में संग्रहित किया जाना है।

धन्यवाद।

+0

आप एडब्ल्यूएस उपयोग नहीं कर सकते हैं, तो आप या तो एक डेटाबेस या अपने खुद के फ़ाइल भंडारण समाधान में छवियों डाल करना होगा: यहाँ एक मणि है कि पेपरक्लिप के लिए एक :database भंडारण प्रकार प्रदान करता है। उन्हें अपने एप्लिकेशन सर्वर पर संग्रहीत करना कोई नहीं है। यदि आप उन मशीनों में से एक खो देते हैं तो आपने छवियों को खो दिया है। –

उत्तर

8

एक समाधान एक साझा फ़ोल्डर को माउंट करने के लिए एनएफएस का उपयोग करना है जो आपके public/system की रूट होगी या जो भी आपने पेपरक्लिप छवियों वाले फ़ोल्डर को बुलाया है।

सब कुछ काम हालांकि बनाने के लिए विचार करने के लिए कुछ चीजें नहीं है:

  • एक समर्पित सर्वर का प्रयोग करें कि केवल संपत्ति में शामिल होंगे, इस तरह से अपनी हार्ड ड्राइव (रों) अपने पेपरक्लिप छवियों की सेवा के लिए समर्पित कर रहे हैं
  • एनएफएस महंगा हो सकता है। अपने ऐप सर्वर से फ़ाइलों को केवल अपने एसेट सर्वर पर लिखने के लिए इसका इस्तेमाल करें। एनएफएस पर ऐसा करने के लिए एप्लिकेशन सर्वर से पूछे बिना, आपको सीधे लोड सर्वर से सभी छवियों को पुनर्प्राप्त करने के लिए अपने लोड बैलेंसर या रिवर्स प्रॉक्सी या वेब सर्वर को कॉन्फ़िगर करना होगा।
  • पाठ्यक्रम के
  • पर एक RAID सिस्टम की अनुशंसा की जाती है, उसी चश्मे के साथ एक दूसरा परिसंपत्ति सर्वर अनुशंसित किया जाता है। आप इसे बैकअप सर्वर के रूप में कार्य कर सकते हैं और नियमित रूप से अपने पेपरक्लिप छवियों को rsync कर सकते हैं। यदि मास्टर एसेट सर्वर कभी भी नीचे चला जाता है, तो आप इसे स्विच करने में सक्षम होंगे।
  • साझा एनएफएस फ़ोल्डर को आरोहित करते समय, soft विकल्प का उपयोग करें, और उच्च गति वाले स्थानीय नेटवर्क कनेक्शन के माध्यम से माउंट करें, उदाहरण के लिए: mount -o soft 10.0.0.1:/export/shared_image_folder। यदि आप soft विकल्प निर्दिष्ट नहीं कर रहे हैं, और संपत्ति सर्वर नीचे चला जाता है, तो आपके रूबी उदाहरण सर्वर के ऊपर जाने का इंतजार करेंगे। सब कुछ फंस जाएगा, और वेबसाइट नीचे दिखेगा। यह एक कठिन तरीका सीख लिया ...

यह एनएफएस का उपयोग करने के लिए सामान्य दिशानिर्देश हैं। मैं इसे सैकड़ों हजारों छवियों के साथ एक बड़ी बड़ी उत्पादन वेबसाइट पर उपयोग कर रहा हूं और यह मेरे लिए ठीक काम करता है।

+0

मैं पेपरक्लिप को मशीन 1 से साझा किए गए फ़ोल्डर में फ़ाइलों को लिखने के लिए कैसे निर्देश दे सकता हूं? – alste

+0

आपको साझा एनएफएस फ़ोल्डर को 'माउंट' करना होगा। लिनक्स में, 'माउंट' नेटवर्क फ़ोल्डर को माउंट करने के लिए एनएफएस का उपयोग करने का प्रयास करेगा, मेरा जवाब संपादित करेगा। बेशक आपको पहले अपना एनएफएस सर्वर सेट करना होगा, और अपने डिस्ट्रो के अनुसार आवश्यक पैकेज इंस्टॉल करना होगा –

1

यदि आप एनएफएस जैसे फ़ाइल शेयर का उपयोग नहीं करना चाहते हैं, तो आप छवियों को अपने डेटाबेस में स्टोर कर सकते हैं।

https://github.com/softace/paperclip_database

संबंधित मुद्दे