मैं वर्तमान में एक ड्रुपल आधारित वेब ऐप के लिए क्षैतिज रूप से स्केलेबल क्लस्टर को निर्दिष्ट करने की कोशिश कर रहा हूं, जो नीचे दिए गए रंगीन आरेख जैसा कुछ दिखता है:
लोड बैलेंसर चिपचिपा सत्रों को लागू करता है, इसलिए उपयोगकर्ता को काम करने के लिए एक सर्वर आवंटित करने के बाद राज्य रखता है।
प्रत्येक ऐप सर्वर में निम्नलिखित हैं:
- सामने की ओर वार्निश
- drupal 6 दीपक स्टैक पर चलने के बीच में
- पीछे से याद किया
दो mysql डेटाबेस सर्वर एक साझा आईपी पर हैं, और वे DRBD के साथ एक एचए क्लस्टर में हैं, और दिल की धड़कन, ताकि एक को खोने से पूरे मंच को नीचे नहीं लाया जाएगा।
कुछ चीजें हैं जिनके बारे में मुझे यकीन नहीं है कि मैं आपकी राय की सराहना करूंगा:
कैसे स्टोरेज स्केल को क्षैतिज रूप से दर्ज करना चाहिए?
मैं प्रत्येक एप्लिकेशन सर्वर पर एक साझा फ़ाइल निर्देशिका को माउंट करने के लिए एनएफएस का उपयोग करने के बारे में सोच रहा हूं, इसलिए एक बार में अपलोड की गई फ़ाइल उन सभी पर उपलब्ध है। मैं एनएफएस के बारे में सोच रहा हूं क्योंकि यह उम्र भर के लिए रहा है, और मुझे मोगिलेफ्स या ग्लस्टरएफएस के साथ कोई अनुभव नहीं है, और यह कुछ ऐसा है जिसे हमने पहले इस्तेमाल किया है, इसलिए हम इससे परिचित हैं।
क्या इस तरह से एनएफएस पर एक निर्देशिका साझा करने के लिए कितने सर्वरों पर काम करने के लिए कोई दिशानिर्देश है?
यहां साझा फ़ाइल संग्रहण पर हा को कैसे प्रदान किया जाना चाहिए?
यहां एक समस्या यह है कि एनएफएस सर्वर विफलता का एकल बिंदु है।
हम मैसूर सर्वर पर पहले से ही हार्टबीट और डीआरबीडी का उपयोग कर रहे हैं, और मैं एक स्टैक में शामिल प्रौद्योगिकियों की संख्या को यथासंभव कम रखना पसंद करूंगा - अगर मैं फ़ाइल के लिए उसी एचए रणनीति का उपयोग करना चाहता हूं तो क्या नुकसान होगा? सर्वर भी?
एक वैकल्पिक दृष्टिकोण
यह एक आंतरिक सामना करने वाली साइट के लिए है, उपयोगकर्ताओं की एक सीमित संख्या के साथ जो कभी-कभी छोटी अवधि के लिए बहुत तीव्रता से साइट का उपयोग करते हैं, जब एक आंतरिक पहल होती है। तो यह कुछ स्टार्टअप की तरह असीम पैमाने पर करने की जरूरत नहीं है।
मान लीजिये
- यातायात की एक ऊपरी सीमा है जिसकी हम उम्मीद कर सकते हैं
- फ़ाइल सर्वर में हा को जोड़ना, और इस तरह से क्षैतिज रूप से स्केल करने के लिए एक सेटअप डिज़ाइन करना काफी जटिलता का परिचय देता है
मैं भी सिर्फ दो वेब सर्वरों को बीफियर बनाने पर विचार कर रहा हूं ताकि वे उनके बीच के पीक लोड को संभाल सकें, और एक क्रॉन जॉब पर दोनों के बीच एकसमान या rsync स्थापित कर सकें, ताकि:
- वे फाइलें अभी भी सिंक में हैं (चिपचिपा सत्र एक उपयोगकर्ता को उसी सर्वर पर रखता है जो उन्होंने एक फ़ाइल अपलोड की थी)
- एक खोने का मतलब है कि साइट अभी भी चालू है।
क्या यह ध्वनि किसी भी संभावित एनएफएस / डीआरबीडी हा जटिलता सिरदर्द को प्राप्त करने के लिए एक संभव तरीका है?
धन्यवाद,
सी