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