रॉसोकॉपी के साथ IIS प्रतिकृति पर वर्डप्रेस


10

हम 4 IIS सर्वर पर एक वर्डप्रेस वातावरण सेटअप करते हैं। हम प्रत्येक 5 मिनट में वर्डप्रेस डायरेक्टरी को दोहराने के लिए रॉबोकॉपी स्क्रिप्ट को ट्रिगर करने वाले अनुसूचित कार्य का उपयोग करने पर विचार कर रहे हैं।

इस तरह के दृष्टिकोण पर क्या राय है? क्या किसी ने कभी भी या इसी तरह का उपयोग किया है?


4 IIS सर्वर phyical या VM क्या हैं? क्या आप डेटा या डेटाबेस और कॉन्फ़िगरेशन की नकल कर रहे हैं? निश्चित नहीं है कि आपके पास 4 सर्वर 1 मास्टर होने के कारण (मैं मान रहा हूं) और अन्य निष्क्रिय हो रहे हैं यदि आप हा को प्राप्त करने की कोशिश कर रहे हैं जो काम नहीं करेगा।
एंथनी फोरनिटो

1
दूसरा सवाल (और शायद सबसे महत्वपूर्ण) आप विंडोज़ पर वर्डप्रेस क्यों चला रहे हैं?
एंथनी फोरनिटो

धन्यवाद @AnthonyFornito आपके उत्तर के लिए। आंतरिक कारणों से विंडोज़ पर वर्डप्रेस चलाना। मैं इसके साथ काम करने की कोशिश कर रहा हूं। मैं वेबसाइट फ़ाइलों की प्रतिकृति के बाद हूं (डेटाबेस प्रतिकृति पहले से ही MYSQL के माध्यम से नियंत्रित की जाती है)। फ्रंट छोर एज़्योर पर वीएम हैं। मैं मुख्य रूप से एक समाधान के बाद हूं जहां सभी सामने वाले एक ही वेबसाइट फ़ाइलों को साझा करते हैं। क्या आपका कोई सुझाव है?
जोबेगॉर्ग07

जवाबों:


12

4 फ्रंट एंड सर्वर जो समान फ़ाइलों को एक ही समय में साझा करते हैं और प्रत्येक किसी प्रकार के डीएफएस या थर्ड पार्टी प्रोग्राम का उपयोग किए बिना लिखने में सक्षम होता है जो निर्देशिका सिंक्रनाइज़ेशन के लिए समर्पित है, एक रात की घोड़ी होगी।

Azure से आप 3 चीजों को देख सकते हैं।

  1. साझा भंडारण, आपके अपने समर्पित भंडारण को प्राप्त करने से जुड़ी कुछ लागत हो सकती है, और मुझे यकीन नहीं है कि कॉन्फ़िगरेशन हालांकि Azure यह पेशकश करता है। यह सुनिश्चित करेगा कि आप सभी फाइलें प्रत्येक सर्वर पर उपलब्ध हैं जैसे ही वे लिखे जाएंगे।

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

  3. (Im यह समझाने के लिए जा रहा है कि यह कैसे किया जाएगा और फिर इसके बारे में फिर कभी बात नहीं करेंगे, क्योंकि यह एक भयानक विचार है और विफल हो जाएगा।) एक स्क्रिप्ट बनाएं जो पहले सभी चार सर्वरों पर डेटा की तुलना करेगा फिर अंतर डेटा की प्रतिलिपि बनाएँ। आपको स्क्रिप्ट को चलाने वाले एक सर्वर से प्रत्येक निर्देशिका को साझा करने की आवश्यकता होगी, इसलिए सर्वर अनुमति को पढ़ और लिख सकता है और फिर समस्या निवारण, समस्या निवारण का निवारण कर सकता है।

या तो ऊपर से विकल्प काम करेगा, यदि आपकी नौकरी इस काम पर निर्भर करती है तो मैं आपको विकल्प 3 से दूर रहने की सलाह दूंगा।

कहा जा रहा है, और आप कोई पैसा खर्च करने की कोशिश नहीं कर रहे हैं, नीचे दिए गए चरणों का पालन करें।

  1. "फ्री फाइल सिंक" नामक एक कार्यक्रम को देखें। मुफ्त संस्करण के लिए वास्तव में कुछ अच्छी विशेषताएं हैं मेरा मानना ​​है कि संस्करण के लिए भुगतान किया गया है, लेकिन आपके द्वारा प्राप्त एन्हांसमेंट के बारे में निश्चित नहीं है। मैंने अपने बहुत सारे देव परिवेशों में इसका उपयोग किया है जब आप जो कुछ करना चाहते हैं उसके समान कुछ हासिल करने की कोशिश कर रहे थे और एफएफएस सेटअप करने के लिए आलसी थे।

  2. केवल एक सर्वर को लिखने योग्य बनाएं, यह आसानी से प्रत्येक सर्वर पर एक यूआरआई को कॉन्फ़िगर करके किया जा सकता है जो कहता है कि यदि लेख सर्वरएए पर जाएं, या आपके वेब में एक यूआरएल फिर से लिखना।

    हेडर ('स्थान: http://myhost.com/mypage.php ');

प्रत्येक कोडिंग और PHP, IIS ज्ञान का एक छोटा सा ले जाएगा।

  1. वास्तव में मजेदार हिस्सा है, ServerA के साथ लेखक सर्वर (केवल लिखने योग्य सर्वर) है हम लोड बैलेंसर के बिना पढ़ने के लिए ServerB, ServerC और ServerD के लिए ट्रैफ़िक कैसे निर्देशित करते हैं?

छोटा उत्तर जो आप नहीं कर सकते, ठीक है, बिल्कुल सही नहीं है, मेरे पास एक ग्राहक था जो एक बार लोड बैलेंसर का उपयोग नहीं करने के बारे में अडिग था, वह एक सर्वर से दूसरे सर्वर से कनेक्शन की मात्रा के आधार पर स्थानांतरित करने के लिए पॉवरशेल स्क्रिप्ट की एक श्रृंखला के माध्यम से सक्षम था। प्रत्येक बॉक्स पर कार्यकर्ता प्रक्रिया या ऐसा कुछ। किसी भी तरह से करने के लिए बहुत मुश्किल है और आगे डालने के लिए समय और ऊर्जा के लायक नहीं है।

देखें कि क्या आप सर्वर पर नेटवर्क लोड बैलेंसिंग को कॉन्फ़िगर नहीं कर सकते हैं, इसके लिए एक अतिरिक्त आईपी की आवश्यकता होगी लेकिन इसके केवल एक DNS परिवर्तन और ट्रैफ़िक को 3 सर्वर पर पढ़ने के लिए वितरित किया जा सकता है।

सौभाग्य!


आपके सुझाव के लिए बहुत धन्यवाद। एकल केंद्रीय भंडारण हमारे लिए एक अड़चन था क्योंकि हमारे पास वह सेटअप था, लेकिन उच्च यातायात का सामना नहीं कर रहा था। हमें एक समय सीमा के कारण त्वरित समाधान की आवश्यकता थी। हमने अंततः रेसिलियो का उपयोग किया जो एक सहकर्मी से सहकर्मी वास्तविक समय सिंकिंग समाधान है, जो किसी भी सर्वर पर परिवर्तन का पता लगाता है और दूसरे सर्वर को दोहराता है। मुझे आशा है कि किसी के भी समान या समान मुद्दों के कारण यह समस्याएँ उसी तरह से हल हो सकती हैं, जिस तरह से हमारे लिए। मैं WP बैकएंड के लिए URL पुनः लिखने के आपके सुझाव का परीक्षण कर रहा हूं और अन्य मशीनों में परिवर्तन को धकेल रहा हूं। एक बार फिर धन्यवाद।
जोबेर्गॉर्ग07

एनएलबी एज़्योर पर काम नहीं करता है (कोई परत 2 नहीं है, यदि आप कुछ सही भयानक सपने चाहते हैं तो बस एज़्योर वीएम पर एआरपी तालिका को देखने की कोशिश करें)।
मैसिमो

12

सभी लोगों के सुझाव के लिए धन्यवाद।

हमारा समाधान एक सहकर्मी से सहकर्मी तुल्यकालन दृष्टिकोण का उपयोग कर रहा था, जिसे रिसिलियो नामक उपकरण का उपयोग किया गया था।

Resilio ने हमें कई कंप्यूटरों को कॉन्फ़िगर करने की अनुमति दी है (इस मामले में IIS फ्रंट एंड्स) एक पीयर-टू-पीयर सिंक्रोनाइज़ेशन क्लस्टर में। सिंक्रनाइज़ेशन प्रक्रिया के लिए उपयोग किए जाने वाले क्लस्टर में प्रत्येक कंप्यूटर से एक फ़ोल्डर का चयन किया जाता है।

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

मुझे उम्मीद है कि यह भविष्य में इसी तरह की समस्या का सामना करने वाले अन्य लोगों की मदद कर सकता है।


11

मुझे नहीं लगता कि अनुसूचित कार्य और रोबोकॉपी एक महान दृष्टिकोण है। 5 मिनट की विंडो के कारण कई बार ऐसा संसाधन होगा जहां संसाधन का अनुरोध किया जाता है, लेकिन लोड बैलेंसर द्वारा चयनित सर्वर के पास यह उपलब्ध नहीं होगा। मोटे तौर पर स्थिर साइटों के लिए यह अक्सर कम व्यस्त साइटों की तुलना में अक्सर बदल जाएगा। एक उच्च आवृत्ति या बिटोरेंट सिंक (जिसे अब Resilio Sync कहा जाता है ) जैसी एक अलग सिंक तकनीक का उपयोग करने से इसमें काफी सुधार होगा, लेकिन समस्या को खत्म नहीं किया जाएगा।

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

अपडेट करें

पृष्ठ कैशिंग के बारे में विचारों के लिए इस लेख पर एक नज़र डालें , और सीडीएन के लिए यह एक है। यह Nginx के बारे में है इसलिए आपको इसे IIS के लिए काम करना होगा, लेकिन इसके पीछे का सिद्धांत किसी भी वेब सर्वर के लिए मान्य है।


आपके सुझाव के लिए धन्यवाद @Tim। जैसा कि आपने कहा कि वेबसाइट डायनामिक है, जगह-जगह वर्डप्रेस प्लग इन के कारण नियमित रूप से मामूली फाइल अपडेट के साथ; इसका मतलब है कि हर फ्रंट एंड में कई बार अलग-अलग फाइलें हो सकती हैं। क्या आपने कभी ऐसे उत्पादन वातावरण का परीक्षण किया है (लगभग 500 - 1000 समवर्ती उपयोगकर्ता); यानी एक केंद्रीय भंडार में वेबसाइट फ़ाइलों को संग्रहीत करना और एक साझा ड्राइव के माध्यम से मैप किया गया? अगर हाँ तो कैसा अनुभव रहा
जोबेगॉर्ग07

नहीं, मैंने उस परिदृश्य का परीक्षण नहीं किया है - मुझे इसकी आवश्यकता नहीं है क्योंकि मैं कैश करता हूं और सीडीएन का उपयोग करता हूं। आपको बैक एंड फ़ाइल सर्वर सहित फ्रंट एंड सर्वर का परीक्षण लोड करने की आवश्यकता होगी। हालाँकि, यदि आपके पृष्ठ प्रत्येक उपयोगकर्ता पृष्ठ के लिए नहीं काटे जाते हैं तो कैशिंग बड़े पैमाने पर आपके भार को कम कर सकता है, जैसा कि सामग्री वितरण का उपयोग करके किया जाएगा - CloudFlare में एक निःशुल्क स्तरीय है। यह सच है भले ही आप हर 5 मिनट में अपडेट करें। इसके पीछे सिद्धांत के लिए Google "Nginx Microcaching", लेकिन आपको स्पष्ट रूप से IIS पर इसे अलग तरीके से लागू करना होगा। यदि आप इस मार्ग पर जाते हैं तो कैशिंग हेडर बहुत महत्वपूर्ण हैं। ऊपर अद्यतन भी देखें।
टिम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.