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