Microservice आर्किटेक्चर - जानें, निर्माण और Microservices तैनात



यह ब्लॉग विस्तार से माइक्रोसिस्टवर्क वास्तुकला की व्याख्या करता है। इसमें पेशेवरों और विपक्ष और एक केस-स्टडी भी शामिल है जो UBER की वास्तुकला की व्याख्या करता है।

माइक्रोसिस्टवर्क वास्तुकला:

मेरे से , आपको माइक्रोसैस आर्किटेक्चर की बुनियादी समझ होनी चाहिए।लेकिन, के साथ एक पेशेवर होने के नाते केवल मूल बातें से अधिक की आवश्यकता होगी। इस ब्लॉग में, आप वास्तु अवधारणाओं की गहराई में उतरेंगे और उन्हें UBER-case अध्ययन का उपयोग करके कार्यान्वित करेंगे।

इस ब्लॉग में, आप निम्नलिखित के बारे में जानेंगे:





  • माइक्रोसर्विस आर्किटेक्चर की परिभाषा
  • माइक्रोसॉफ़्ट आर्किटेक्चर की प्रमुख अवधारणाएँ
  • पेशेवरों और Microservice वास्तुकला के विपक्ष
  • UBER - केस स्टडी

आप को संदर्भित कर सकते हैं , Microservices के मूल सिद्धांतों और लाभों को समझने के लिए।

यह केवल तभी उचित होगा जब मैं आपको माइक्रोसर्विसेज की परिभाषा दूंगा।



माइक्रोसर्विसेस की परिभाषा

जैसे, माइक्रोसर्विस उर्फ ​​माइक्रोसर्विस आर्किटेक्चर की कोई उचित परिभाषा नहीं है, लेकिन आप कह सकते हैं कि यह एक ऐसा ढांचा है जिसमें छोटे, व्यक्तिगत रूप से विभिन्न सेवाओं का संचालन करने वाली परिनियोजित सेवाएं शामिल हैं।

माइक्रोसॉफ़्ट एक एकल व्यवसाय डोमेन पर ध्यान केंद्रित करते हैं जिसे पूरी तरह से स्वतंत्र तैनाती योग्य सेवाओं के रूप में लागू किया जा सकता है और उन्हें विभिन्न प्रौद्योगिकी ढेर पर लागू किया जा सकता है।

मोनोलिथिक आर्किटेक्चर और माइक्रोसर्विसेस के बीच अंतर - माइक्रोसैस आर्किटेक्चर - एडुरका



आकृति 1: मोनोलिथिक और माइक्रोसैस आर्किटेक्चर के बीच का अंतर - माइक्रोसैस आर्किटेक्चर

अखंड और सूक्ष्मदर्शी वास्तुकला के बीच अंतर को समझने के लिए ऊपर दिए गए चित्र को देखें।दोनों आर्किटेक्चर के बीच अंतर की बेहतर समझ के लिए, आप मेरे पिछले ब्लॉग का उल्लेख कर सकते हैं

आपको और बेहतर समझने के लिए, मैं आपको माइक्रोसैकेस्ट आर्किटेक्चर की कुछ प्रमुख अवधारणाओं के बारे में बताता हूं।

माइक्रोसॉफ़्ट आर्किटेक्चर की प्रमुख अवधारणाएँ

इससे पहले कि आप अपने स्वयं के अनुप्रयोगों का निर्माण करना शुरू कर दें, आपके द्वारा अपने अनुप्रयोग के कार्यक्षेत्र और कार्यक्षमताओं के बारे में स्पष्ट होना चाहिए।

माइक्रोसर्विस पर चर्चा करते समय कुछ दिशानिर्देशों का पालन किया जाना चाहिए।

दिशा-निर्देश जबकि डिजाइनिंग माइक्रोसर्विसेज

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

अब, जब आपने माइक्रोसेवा डिज़ाइन करते समय बुनियादी दिशा-निर्देशों के माध्यम से पढ़ा है, तो आइए हम माइक्रोसेवा की वास्तुकला को समझें।

माइक्रोसर्विस आर्किटेक्चर कैसे काम करता है?

एक विशिष्ट माइक्रोसिस्टवर्क आर्किटेक्चर (MSA) में निम्नलिखित घटक शामिल होने चाहिए:

  1. ग्राहक
  2. पहचान प्रदान करने वाले
  3. गेटवे एपीआई
  4. मैसेजिंग फॉर्मेट्स
  5. डेटाबेस
  6. स्थैतिक सामग्री
  7. प्रबंधन
  8. सेवा खोज

नीचे दिए गए चित्र को देखें।

चित्र 2: माइक्रोसर्विसेज की वास्तुकला - माइक्रोसॉर्स्क आर्किटेक्चर

मुझे पता है कि वास्तुकला थोड़ा जटिल दिखता है, लेकिन चलोमैंआप के लिए इसे सरल बनाएं।

1. ग्राहक

mysql_fetch_array php

वास्तुकला विभिन्न प्रकार के ग्राहकों से शुरू होती है, विभिन्न उपकरणों से विभिन्न प्रबंधन क्षमताओं को निष्पादित करने की कोशिश करती है जैसे कि खोज, निर्माण, कॉन्फ़िगर आदि।

2. पहचान प्रदाता

ग्राहकों के ये अनुरोध तब पहचान प्रदाताओं पर पारित किए जाते हैं जो ग्राहकों के अनुरोधों को प्रमाणित करते हैं और एपीआई गेटवे के लिए अनुरोधों को संवाद करते हैं। फिर अनुरोधों को अच्छी तरह से परिभाषित एपीआई गेटवे के माध्यम से आंतरिक सेवाओं के लिए सूचित किया जाता है।

3. एपीआई गेटवे

चूंकि ग्राहक सीधे सेवाओं को कॉल नहीं करते हैं, इसलिए एपीआई गेटवे ग्राहकों के लिए एक उपयुक्त प्रविष्टि के रूप में कार्य करता है ताकि उपयुक्त माइक्रोसॉफ़्ट के लिए अनुरोधों को अग्रेषित किया जा सके।

एपीआई गेटवे का उपयोग करने के लाभों में शामिल हैं:

  • सभी सेवाओं को जानने वाले ग्राहकों के बिना अपडेट किया जा सकता है।
  • संदेश सेवा प्रोटोकॉल का उपयोग भी कर सकते हैं जो वेब-फ्रेंडली नहीं हैं।
  • एपीआई गेटवे सुरक्षा, भार संतुलन आदि जैसे क्रॉस-कटिंग कार्य कर सकता है।

ग्राहकों के अनुरोधों को प्राप्त करने के बाद, आंतरिक आर्किटेक्चर में माइक्रोसर्विस होते हैं जो क्लाइंट अनुरोधों को संभालने के लिए संदेशों के माध्यम से एक-दूसरे के साथ संवाद करते हैं।

4. मैसेजिंग फॉर्मेट्स

दो प्रकार के संदेश हैं जिनके माध्यम से वे संवाद करते हैं:

  • तुल्यकालिक संदेश: ऐसी स्थिति में जहां ग्राहक किसी सेवा की प्रतिक्रियाओं की प्रतीक्षा करते हैं, माइक्रोकर्विसेस आमतौर पर उपयोग करते हैं बाकी (प्रतिनिधि राज्य स्थानांतरण) जैसा कि यह एक स्टेटलेस, क्लाइंट-सर्वर, और पर निर्भर करता है HTTP प्रोटोकॉल । इस प्रोटोकॉल का उपयोग किया जाता है क्योंकि यह प्रत्येक वितरित वातावरण है और प्रत्येक कार्यक्षमता का संचालन करने के लिए संसाधन के साथ प्रतिनिधित्व किया जाता है
  • अतुल्यकालिक संदेश: ऐसी स्थिति में जहां ग्राहक किसी सेवा से प्रतिक्रियाओं की प्रतीक्षा नहीं करते हैं, माइक्रोकर्विसेस आमतौर पर प्रोटोकॉल का उपयोग करते हैं AMQP, STOMP, MQTT । इन प्रोटोकॉल का उपयोग इस प्रकार के संचार में किया जाता है क्योंकि संदेशों की प्रकृति को परिभाषित किया जाता है और इन संदेशों को कार्यान्वयन के बीच अंतर करना पड़ता है।

अगला सवाल जो आपके दिमाग में आ सकता है कि माइक्रोसर्विसेज का उपयोग करने वाले एप्लिकेशन अपने डेटा को कैसे संभालते हैं?

5. डेटा हैंडलिंग

खैर, प्रत्येक माइक्रोसिस्ट अपने डेटा को कैप्चर करने और संबंधित व्यावसायिक कार्यक्षमता को लागू करने के लिए एक निजी डेटाबेस का मालिक है। इसके अलावा, माइक्रोसिस्टर्स के डेटाबेस केवल उनकी सेवा एपीआई के माध्यम से अपडेट किए जाते हैं। नीचे दिए गए चित्र को देखें:

चित्र तीन: माइक्रोसर्विसेस हैंडलिंग डेटा का प्रतिनिधित्व - माइक्रोसैस आर्किटेक्चर

माइक्रोसर्विसेज द्वारा प्रदान की जाने वाली सेवाओं को किसी भी दूरस्थ सेवा के लिए आगे बढ़ाया जाता है जो विभिन्न प्रौद्योगिकी ढेर के लिए अंतर-प्रक्रिया संचार का समर्थन करती है।

6. स्थैतिक सामग्री

बाद में माइक्रोसर्विसेज अपने भीतर संचार करते हैं, वे स्थैतिक सामग्री को क्लाउड-आधारित स्टोरेज सेवा में तैनात करते हैं जो ग्राहकों के माध्यम से उन्हें सीधे वितरित कर सकते हैं सामग्री वितरण नेटवर्क (CDN)

उपरोक्त घटकों के अलावा, कुछ अन्य घटक एक विशिष्ट माइक्रोसर्विसेज आर्किटेक्चर में दिखाई देते हैं:

7. प्रबंधन

यह घटक नोड्स पर सेवाओं को संतुलित करने और विफलताओं की पहचान करने के लिए जिम्मेदार है।

8. सेवा खोज

उनके बीच संचार के मार्ग का पता लगाने के लिए माइक्रोसर्विस के मार्गदर्शक के रूप में कार्य करता है क्योंकि यह उन सेवाओं की सूची रखता है जिन पर नोड स्थित हैं।

नए अपडेट पाने के लिए हमारे youtube चैनल को सब्सक्राइब करें ..!

अब, इस आर्किटेक्चर के पेशेवरों और विपक्षों पर ध्यान दें कि इस आर्किटेक्चर का उपयोग कब करना है, इसकी बेहतर समझ प्राप्त करें।

जावा में एक पैकेज बनाएँ

पेशेवरों और विपक्ष Microservice वास्तुकला की

नीचे दी गई तालिका देखें।

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

यूबर के पिछले आर्किटेक्चर की वर्तमान से तुलना करके माइक्रोसर्विस के बारे में अधिक जानें।

UBER मामला अध्ययन

UBER का पिछला आर्किटेक्चर

कई स्टार्टअप्स की तरह, UBER ने अपनी यात्रा की शुरुआत एक एकल शहर में एकल पेशकश के लिए बनाई गई एक अखंड वास्तुकला के साथ की। उस समय एक कोडबेस की सफाई होती थी, और UBER की मुख्य व्यावसायिक समस्याओं का समाधान होता था। हालांकि, UBER ने दुनिया भर में विस्तार करना शुरू कर दिया, क्योंकि उन्होंने स्केलेबिलिटी और निरंतर एकीकरण के संबंध में विभिन्न समस्याओं का सामना किया।

चित्र 4: UBER का मोनोलिथिक आर्किटेक्चर - माइक्रोसैस आर्किटेक्चर

उपरोक्त आरेख में UBER की पिछली वास्तुकला को दर्शाया गया है।

  • एक REST API मौजूद है जिसके साथ यात्री और ड्राइवर कनेक्ट होते हैं।
  • तीन अलग-अलग एडेप्टर का उपयोग उनके भीतर एपीआई के साथ किया जाता है, जैसे कि बिलिंग, भुगतान, ईमेल / संदेश भेजने जैसी क्रियाएं करने के लिए जब हम एक टैक्सी बुक करते हैं।
  • एक MySQL डेटाबेस अपने सभी डेटा को स्टोर करने के लिए।

इसलिए, यदि आप यहाँ ध्यान दें तो यात्री प्रबंधन, बिलिंग, अधिसूचना सुविधाएँ, भुगतान, यात्रा प्रबंधन और चालक प्रबंधन जैसी सभी सुविधाएँ एक ही ढाँचे में बनाई गई थीं।

समस्या का विवरण

जबकि UBER ने दुनिया भर में विस्तार करना शुरू किया, इस तरह की रूपरेखा ने विभिन्न चुनौतियों का सामना किया। निम्नलिखित कुछ प्रमुख चुनौतियाँ हैं

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

उपाय

इस तरह की समस्याओं से बचने के लिए UBER ने अपनी वास्तुकला को बदलने और Amazon, Netflix, Twitter और कई अन्य कंपनियों जैसे हाइपर-ग्रोथ कंपनियों का अनुसरण करने का निर्णय लिया। इस प्रकार, UBER ने एक microservice आर्किटेक्चर बनाने के लिए अपनी अखंड वास्तुकला को कई कोडबेस में तोड़ने का फैसला किया।

UBER के माइक्रोसॉर्फ़ आर्किटेक्चर को देखने के लिए नीचे दिए गए चित्र को देखें।

चित्र 5: UBER का माइक्रोसॉर्स्क आर्किटेक्चर - Microservice Architecture

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

इसमेंमार्ग, शिफ्ट करने से फायदा हुआआईटी इसआर्किटेक्चर मोनोलिथिक से माइक्रोसर्विसेज तक।

मुझे उम्मीद है कि आपको यह पोस्ट माइक्रोसॉर्स्क आर्किटेक्चर पर पढ़ने में मज़ा आया होगा।मैं और अधिक ब्लॉगों के साथ आ रहा हूं, जिनमें हैंड्स-ऑन भी शामिल होंगे।
Microservices के बारे में अधिक जानने में रुचि रखते हैं?

यदि आप माइक्रोसिस्टिक्स सीखना चाहते हैं और अपने स्वयं के अनुप्रयोगों का निर्माण करना चाहते हैं, तो हमारी जांच करें जो प्रशिक्षक के नेतृत्व वाले लाइव प्रशिक्षण और वास्तविक जीवन की परियोजना के अनुभव के साथ आता है। यह प्रशिक्षण आपको माइक्रोसर्विस को गहराई से समझने में मदद करेगा और आपको इस विषय पर महारत हासिल करने में मदद करेगा।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें माइक्रोसिस्टवर्क आर्किटेक्चर “और मैं तुम्हारे पास वापस आ जाऊंगा।