"मवेशी नहीं पालतू जानवर" की परिभाषा क्या है?


47

यह शब्द "आपके सर्वरों को मवेशियों की तरह नहीं पालतू जानवरों की तरह व्यवहार करता है" हाल के वर्षों में प्रोलिफायर किया गया है, खासकर जब डॉकटर कंटेनरों और वर्चुअल मशीनों पर लागू होता है

पालतू जानवर बनाम मवेशी

वास्तव में इसका क्या मतलब है?


1
लाइन के साथ प्रत्येक "मॉडल" के समर्थक / विपक्ष के साथ यहां एक लंबा विवरण ।
तनीसबाई

जवाबों:


52

रैंडी बायस ने इस शब्द का इतिहास बताते हुए कहा कि यह शायद 2011 या 2012 में उत्पन्न हुआ था जब बिल बेकर ने "स्केल-अप" बनाम "स्केल-आउट" वास्तुकला रणनीतियों का वर्णन करते हुए सादृश्य का उपयोग किया था। बादल ने अपनी प्रस्तुतियों में इसे क्लाउड आर्किटेक्चरल पैटर्न के बारे में अपनाया:

चीजों को करने के पुराने तरीके में, हम अपने सर्वरों को पालतू जानवरों की तरह मानते हैं, उदाहरण के लिए बॉब मेल सर्वर। यदि बॉब नीचे जाता है, तो यह डेक पर सभी हाथ है। CEO को उसका ईमेल नहीं मिल सकता है और यह दुनिया का अंत है। नए तरीके से, सर्वरों को गिना जाता है, जैसे झुंड में मवेशी। उदाहरण के लिए, www001 से www100। जब एक सर्वर नीचे जाता है, तो उसे वापस ले लिया जाता है, गोली मार दी जाती है, और लाइन में बदल दिया जाता है।

पूर्वाग्रह पालतू जानवरों को परिभाषित करना जारी रखता है

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

और पशु के रूप में

दो से अधिक सर्वरों की सरणी, जो स्वचालित टूल का उपयोग करके बनाई गई हैं, और विफलता के लिए डिज़ाइन की गई हैं, जहां कोई भी, दो, या यहां तक ​​कि तीन सर्वर अपूरणीय नहीं हैं। आमतौर पर, विफलता की घटनाओं के दौरान, किसी भी मानवीय हस्तक्षेप की आवश्यकता नहीं होती है क्योंकि सरणी विफल सर्वर को फिर से शुरू करके या ट्रिपल प्रतिकृति या मिटा कोडिंग जैसी रणनीतियों के माध्यम से डेटा की नकल करके "विफलताओं के आसपास मार्ग" की विशेषताओं को प्रदर्शित करता है। उदाहरणों में वेब सर्वर एरेज़, मल्टी-मास्टर डेटास्टोर्स जैसे कि कैसंड्रा क्लस्टर, क्लस्टर में कई रैक गियर को एक साथ रखा जाता है, और लोड-संतुलित और मल्टी-मास्टर के बारे में कुछ भी।

मौलिक रूप से, बीआस और बेकर जो संदेश देना चाह रहे हैं, उसमें एक परिवर्तन होना है कि कैसे हम सर्वरों को "यूनिक स्नोफ्लेक्स" नाम और भावनात्मक जुड़ाव के साथ एक मॉडल के साथ व्यवहार करते हैं, जिससे यदि हमें सर्वर के साथ कोई समस्या होती है तो हम एक प्रतिस्थापन बनाते हैं। और समस्याग्रस्त सर्वर को नष्ट कर दें।

अंत में, यह संभवतः ध्यान देने योग्य है कि विनियमित वातावरण में एक सर्वर को पीछे ले जाना और शूटिंग करना इष्टतम नहीं हो सकता है। इन मामलों में अक्सर सर्वर को "फ्रीज" करना फायदेमंद होता है, उदाहरण के लिए docker pauseकंटेनर को फ्रीज करने के लिए। इसके बाद हादसा या समस्या प्रबंधन प्रक्रिया के भाग के रूप में रूट कॉज एनालिसिस करने के लिए इसका उपयोग किया जा सकता है ।


16

रिचर्ड्स उत्तर में जोड़ने के लिए, आमतौर पर एक सर्वर के नुकसान के प्रभाव पर विचार करने के संदर्भ में सादृश्य सहायक होता है।

यदि आप किसी व्यक्ति के बुनियादी ढांचे के नुकसान पर किसी प्रकार का संकट महसूस करेंगे, तो इसे पालतू जानवर समझें (एंटीपैटर्न पढ़ें)।

यदि आप यह जानकर बहुत सहज महसूस करेंगे कि यदि बेड़े में से किसी ने भी काम करना बंद कर दिया है तो संचालन पर कोई वास्तविक प्रभाव नहीं पड़ेगा, तो आप मवेशियों के बारे में बात कर रहे हैं।

यह अक्सर अपने सर्वरों को वर्गीकृत करने के लिए सादृश्य का उपयोग करने के लिए लुभाता है, अर्थात "हमारे वर्कलोड नोड्स मवेशी हैं लेकिन हमारे लोड बैलेंसर्स पालतू जानवर हैं" लेकिन उस जाल में गिरना वास्तव में समस्या है। आधुनिक कंप्यूटिंग वातावरण में पालतू जानवरों के लिए कोई जगह नहीं है (यानी क्लाउड में, कमोडिटी हार्डवेयर आदि पर)। यदि आपके सभी सर्वर मवेशी माने जाते हैं, और आसानी से बदली जा सकते हैं, तो आप अराजक बंदर जैसी चीजों की मदद करना शुरू कर सकते हैं। यह आश्वासन दें कि आपका बुनियादी ढांचा वास्तव में लचीला है।

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