उच्च उपलब्धता के लिए 2 VMs में वर्डप्रेस कैसे चलाएं


12

Microsoft Azure के लिए आवश्यक है कि एप्लिकेशन अपनी "उच्च उपलब्धता" SLA को प्राप्त करने के लिए कई डेटा सेंटरों में दो इंस्टेंसेस का उपयोग करें और सुनिश्चित करें कि आपकी साइटें नियमित रखरखाव के लिए नीचे नहीं जाती हैं। वे आपको यह भी बताते हैं कि कौन से डेटा सेंटर के जोड़े एक ही समय में रखरखाव के लिए कभी नहीं जाएंगे।

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

क्या मैं इस अवधारणा को गलत समझ रहा हूं? किसी भी प्रकार की मदद की बेहद सराहना की जाती है!


1
आप Azure पर वर्डप्रेस की मेजबानी क्यों करेंगे? वर्डप्रेस के लिए बेहतर और सस्ती होस्टिंग हैं। उदाहरण के लिए डिजिटल महासागर।
एलेक्सस

1
एलेक्सस, जो वास्तव में यहां प्रासंगिक नहीं है, लेकिन हमारे पास एज़्योर के बुनियादी ढांचे में फैला हुआ एक बड़ा ढेर है, जिसमें से वर्डप्रेस सिर्फ एक घटक है। Azure एक शानदार मंच है और हम इससे बहुत खुश हैं।
यारून

1
पकड़ लिया। आपको वही करने को मिला जो आपको करना था :) मुझे अपने ज्यादातर .NET सामान के लिए Azure भी पसंद है, लेकिन हमेशा WP साइट्स को अलग से होस्ट किया जाता है।
एलेक्सस

यारोन, क्या आपको मददगार के नीचे का उत्तर मिला? यह अब तक 3 अपवोट प्राप्त कर चुका है, बस यह जांचना चाहता था कि क्या आपको कोई महत्वपूर्ण अवधारणा याद आ रही है तो मैं इसे आपके विशेष उपयोग के मामले में संबोधित कर सकता हूं।
ब्रायन 'बीजे ’हॉफपॉयर जूनियर

1
पूरी तरह से जवाब के लिए बहुत बहुत धन्यवाद @ ब्रायन'बीजे'होफापॉइर और माफ करना, मेरे पास आपके निर्देशों का पालन करने के लिए यह देखने का समय नहीं है कि वे हमारे कार्यान्वयन के साथ काम करते हैं या नहीं। मैं उत्तर को सही मान रहा हूं और यदि मैं किसी परेशानी में हूं तो फिर से पता लगाऊंगा। एक बार फिर धन्यवाद!!
यार्न

जवाबों:


11

बुरी खबर: वर्डप्रेस का मुख्य खुला स्रोत आधार एकल सर्वर (wp-content, उपयोगकर्ता अपलोड और कुछ को नाम देने के लिए मीडिया लाइब्रेरी) पर चलने के बारे में काफी कुछ धारणाएं बनाता है)

खुशखबरी: बहुत सारे क्लाउड प्रोवाइडर (एज़ुर सहित) में एब्सट्रैक्ट हैं जो आपको इन डिज़ाइन सीमाओं के आसपास काम करने की अनुमति देते हैं।

मूल रूप से, आप निम्नलिखित चिंताओं को संबोधित करेंगे:

  • लोड संतुलन ट्रैफ़िक को दो (या अधिक) "फ्रंट-एंड" वर्डप्रेस वेब / ऐप सर्वर के बीच रखें। जब तक आप उपयोगकर्ताओं को साइटों पर लॉगिन करने दे रहे हैं तब तक Wordpress के लिए बहुत मुश्किल नहीं है। यह DNS और लोड Balancers के संयोजन के माध्यम से किया जाता है। आपको अपने ऐप सर्वरों के लिए 2 आईपी के लिए समर्थन की आवश्यकता होगी - 1 सेट इंटरनेट के माध्यम से चलने वाले सबनेट से कनेक्ट होगा (हालांकि उम्मीद है कि नीचे फ़ायरवॉल द्वारा संरक्षित नहीं है) और अन्य दो अलग-अलग सबनेट पर होंगे जो अलग-थलग हैं अन्य नेटवर्क और डेटाबेस सर्वर उदाहरण हैं, लेकिन मूल रूपरेखा इस तरह है:
                     / - (10.0.0.1 - eth0) wp1.domain.com (10.0.1.1 - eth2)
(सार्वजनिक आईपी) wp.domain.com          
                     \ - (10.0.0.2 - eth1) wp2.domain.com (10.0.1.2 - eth3)
  • सत्र प्रबंधित करना यदि आप उपयोगकर्ताओं को साइटों पर लॉगिन करने दे रहे हैं। यदि ऐसा है, तो आपको यह सुनिश्चित करने की आवश्यकता होगी कि जब वे सर्वर 1 में लॉग इन करें तो या तो उनके भविष्य के सभी अनुरोध उस सर्वर (स्टिकी सेशन) में रूट हो जाएं या इससे कोई फर्क नहीं पड़ता कि वे किस सर्वर तक पहुंचते हैं क्योंकि सत्र किसी अन्य तंत्र के माध्यम से प्रबंधित होते हैं ( उदाहरण के लिए Zend सर्वर सत्र क्लस्टरिंग के माध्यम से )।

  • व्यवस्थापन लॉगिन प्रबंधित करना यदि आप कुछ उपयोगकर्ताओं को सामग्री के प्रबंधन के लिए बैक-एंड में लॉगिन करने दे रहे हैं (उपर्युक्त के समान)।

  • DB सिस्टम चुनना जो ALSO अत्यधिक उपलब्ध है। अगर आपके DB दुर्घटना पूरी प्रणाली को नीचे लाता है तो दो फ्रंट एंड सर्वर होने का कोई मतलब नहीं है। आपको SQL सर्वर का लाभ उठाने के लिए MyDB मास्टर / स्लेव प्रतिकृति को ClearDB के माध्यम से या वर्डप्रेस को प्लगइन के माध्यम से संशोधित करने की आवश्यकता होगी ताकि आप इसके मूल क्लस्टरिंग सिस्टम का उपयोग कर सकें । इसका मतलब है कि आपको कम से कम 4 वीएम की आवश्यकता होगी यदि आप डीबी परत का प्रबंधन खुद करना चाहते हैं (2 एक्स ऐप और 2 एक्स डीबी)। यहाँ है कि कैसे लग सकता है:

               / - wp1.domain.com (10.0.1.1) \ --- / (10.0.1.3) db1.domain.com (10.0.2.3) \
         wp.domain.com X |           
               \ - wp2.domain.com (10.0.1.2) / --- (10.0.1.4) db2.domain.com (10.0.2.3) /

  • नोट - विश्वसनीय फ़ेलओवर सुनिश्चित करने और सिस्टम की सुरक्षा की रक्षा करने के लिए, एक THIRD नेटवर्क सबनेट का उपयोग आमतौर पर एक निजी चैनल के माध्यम से दो डेटाबेस नोड्स को एक दूसरे से जोड़ने के लिए किया जाता है, जिसे अन्य संचार नेटवर्क से अलग किया जाता है जिनसे ऐप सर्वर बात करते हैं। डेटाबेस और ऐप सर्वर बाहरी दुनिया के साथ संवाद करने के लिए उपयोग करते हैं।

  • अपने ऐप सर्वर के डेटाबेस कनेक्शन के प्रदर्शन और विश्वसनीयता को अधिकतम करने के लिए कनेक्शन पूलिंग को सक्षम करना।

  • फ्रंट एंड सर्वर पर लोड को कम करने के लिए W3 टोटल कैश या सुपर कैश जैसे कैशिंग प्लगइन का उपयोग करना।

निम्नलिखित मार्गदर्शिकाएँ निर्दिष्ट करती हैं कि आप उपरोक्त प्रत्येक चुनौतियों का समाधान कैसे कर सकते हैं। एज़्योर में प्रत्येक को संभालने के कई तरीके हैं, इसलिए यह तय करना आपके लिए है कि आप प्रत्येक चुनौती पर कैसे हमला करना चाहते हैं, फिर उन बाधाओं में से प्रत्येक के साथ काम करें, जैसा कि आप ऊपर और नीचे स्टैक काम करते हैं।

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