एक फ़ाइल अपलोड निर्देशिका को साझा करने का सबसे अच्छा तरीका है क्षैतिज रूप से स्केलिंग वेब सर्वर


9

मैं वर्तमान में एक ड्रुपल आधारित वेब ऐप के लिए क्षैतिज रूप से स्केलेबल क्लस्टर को निर्दिष्ट करने की कोशिश कर रहा हूं, जो नीचे दिए गए रंगीन आरेख जैसा कुछ दिखता है:

लोड बैलेंसर चिपचिपा सत्रों को लागू करता है, इसलिए उपयोगकर्ता को काम करने के लिए एक सर्वर आवंटित करने के बाद राज्य रखता है।

प्रत्येक ऐप सर्वर में निम्नलिखित हैं:

  • सामने की ओर वार्निश
  • drupal 6 दीपक स्टैक पर चलने के बीच में
  • पीछे से याद किया

दो mysql डेटाबेस सर्वर एक साझा आईपी पर हैं, और वे DRBD के साथ एक एचए क्लस्टर में हैं, और दिल की धड़कन, ताकि एक को खोने से पूरे मंच को नीचे नहीं लाया जाएगा।

यहां छवि विवरण दर्ज करें

कुछ चीजें हैं जिनके बारे में मुझे यकीन नहीं है कि मैं आपकी राय की सराहना करूंगा:

कैसे स्टोरेज स्केल को क्षैतिज रूप से दर्ज करना चाहिए?

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

क्या इस तरह से एनएफएस पर एक निर्देशिका साझा करने के लिए कितने सर्वरों पर काम करने के लिए कोई दिशानिर्देश है?

यहां साझा फ़ाइल संग्रहण पर हा को कैसे प्रदान किया जाना चाहिए?

यहां एक समस्या यह है कि एनएफएस सर्वर विफलता का एकल बिंदु है।

हम मैसूर सर्वर पर पहले से ही हार्टबीट और डीआरबीडी का उपयोग कर रहे हैं, और मैं एक स्टैक में शामिल प्रौद्योगिकियों की संख्या को यथासंभव कम रखना पसंद करूंगा - अगर मैं फ़ाइल के लिए उसी एचए रणनीति का उपयोग करना चाहता हूं तो क्या नुकसान होगा? सर्वर भी?

एक वैकल्पिक दृष्टिकोण

यह एक आंतरिक सामना करने वाली साइट के लिए है, उपयोगकर्ताओं की एक सीमित संख्या के साथ जो कभी-कभी छोटी अवधि के लिए बहुत तीव्रता से साइट का उपयोग करते हैं, जब एक आंतरिक पहल होती है। तो यह कुछ स्टार्टअप की तरह असीम पैमाने पर करने की जरूरत नहीं है।

मान लीजिये

  • यातायात की एक ऊपरी सीमा है जिसकी हम उम्मीद कर सकते हैं
  • फ़ाइल सर्वर में हा को जोड़ना, और इस तरह से क्षैतिज रूप से स्केल करने के लिए एक सेटअप डिज़ाइन करना काफी जटिलता का परिचय देता है

मैं भी सिर्फ दो वेब सर्वरों को बीफियर बनाने पर विचार कर रहा हूं ताकि वे उनके बीच के पीक लोड को संभाल सकें, और एक क्रॉन जॉब पर दोनों के बीच एकसमान या rsync स्थापित कर सकें, ताकि:

  • वे फाइलें अभी भी सिंक में हैं (चिपचिपा सत्र एक उपयोगकर्ता को उसी सर्वर पर रखता है जो उन्होंने एक फ़ाइल अपलोड की थी)
  • एक खोने का मतलब है कि साइट अभी भी चालू है।

क्या यह ध्वनि किसी भी संभावित एनएफएस / डीआरबीडी हा जटिलता सिरदर्द को प्राप्त करने के लिए एक संभव तरीका है?

धन्यवाद,

सी

जवाबों:


3

NFS सर्वर में कम से कम MySQL सर्वर के समान प्रावधान होगा, क्योंकि उनके पास मूल रूप से एक ही फ़ंक्शन और सीमाएं हैं (दोनों ऐसे स्थान हैं जहां आप डेटा लिखते हैं)। मुझे एनएफएस के लिए कई लेखकों के विचार पसंद नहीं हैं, यह फ़ाइल ताले का प्रबंधन करने के लिए बहुत जटिल बनाता है और मेरे अनुभव उस बिंदु पर बहुत अच्छी तरह से नहीं गए।

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

अंतिम के लिए, ग्लस्टर और अन्य वितरित प्रणालियों पर एक नज़र डालें।


0

आप mogileFS आज़मा सकते हैं। मैंने इसे हमारी एक परियोजना के लिए इस्तेमाल किया था। इसका उपयोग करना और कॉन्फ़िगर करना आसान है और स्केल कर सकता है और विफलता के एक भी बिंदु नहीं हैं।

http://danga.com/mogilefs/


0

सबसे अच्छा तरीका एक अच्छा भंडारण समाधान खोजना है। एनएफएस के समर्थन और कम से कम दो गीगाबिट पोर्ट्स और पावर सुपरलीज़ (कुछ एंटरप्राइज़ समाधानों की जांच करें) के पैमाने और प्रकार के आधार पर आप एक अच्छे एनएएस का उपयोग कर सकते हैं।

यदि आप अपने आवेदन के बारे में वास्तव में गंभीर हैं तो आपका सर्वश्रेष्ठ दांव कुछ SAN समाधानों की जांच करना है, लेकिन यह बहुत महंगा हो सकता है क्योंकि इसके लिए विशेष हार्डवेयर की आवश्यकता होती है (इसे शेल्फ हार्डवेयर के साथ किया जा सकता है लेकिन यह बहुत धीमा हो सकता है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.