माइक्रोसर्विसेज को API गेटवे की आवश्यकता क्यों होती है
Xiaolan Cheng
February 17, 2023
माइक्रोसर्विसेस क्या हैं
माइक्रोसर्विस आर्किटेक्चर, जिसे आमतौर पर माइक्रोसर्विसेस के रूप में जाना जाता है, एप्लिकेशन विकसित करने के लिए उपयोग की जाने वाली एक प्रकार की आर्किटेक्चर है। माइक्रोसर्विसेस के साथ, बड़े एप्लिकेशन को कई स्वतंत्र घटकों में विभाजित किया जा सकता है, जिनमें से प्रत्येक की अपनी जिम्मेदारियां होती हैं। जब एक उपयोगकर्ता अनुरोध को संसाधित किया जाता है, तो माइक्रोसर्विसेस पर आधारित एप्लिकेशन अपनी प्रतिक्रिया संयुक्त रूप से उत्पन्न करने के लिए कई आंतरिक माइक्रोसर्विसेस को कॉल कर सकता है। माइक्रोसर्विसेस इंटरनेट विकास का परिणाम हैं, और इंटरनेट की तेजी से वृद्धि ने सिस्टम की आर्किटेक्चर को लगातार बदलने के लिए मजबूर किया है।
कुल मिलाकर, सिस्टम की आर्किटेक्चर मोनोलिथिक आर्किटेक्चर से SOA आर्किटेक्चर और फिर माइक्रोसर्विस आर्किटेक्चर में विकसित हुई है। प्रत्येक आर्किटेक्चर की विशिष्ट प्रगति और फायदे/नुकसान नीचे दी गई तालिका में दिए गए हैं।
| आर्किटेक्चर प्रकार | विवरण | फायदे | नुकसान |
|---|---|---|---|
| मोनोलिथिक एप्लिकेशन आर्किटेक्चर | सभी फंक्शनल कोड को एक ही सेवा में पैक करें। | 1. सरल आर्किटेक्चर जिसमें प्रोजेक्ट विकास और रखरखाव लागत कम होती है। | सभी मॉड्यूल को एक साथ जोड़ना छोटे प्रोजेक्ट्स के लिए विकास और रखरखाव के लिए फायदेमंद हो सकता है, लेकिन बड़े प्रोजेक्ट्स के लिए समस्याएं पैदा कर सकता है, जिसमें शामिल हैं 1. प्रोजेक्ट में मॉड्यूल बहुत अधिक जुड़े हुए हैं, और एक मॉड्यूल में प्रदर्शन समस्या पूरे प्रोजेक्ट को अनुपलब्ध बना सकती है; 2. प्रोजेक्ट को बेहतर स्केलेबिलिटी की आवश्यकता होती है। |
| SOA आर्किटेक्चर | यह शब्द "सर्विस-ओरिएंटेड आर्किटेक्चर" के लिए है, जिसमें आमतौर पर कई सेवाएं शामिल होती हैं। एक सेवा आमतौर पर एक ऑपरेटिंग सिस्टम प्रक्रिया में स्वतंत्र रूप से मौजूद होती है, और सेवाओं के बीच संचार निर्भरताओं या संचार तंत्र के माध्यम से प्राप्त किया जाता है, अंततः, यह कार्यों की एक श्रृंखला प्रदान करता है। | 1. सिस्टम एकीकरण: सिस्टमिक दृष्टिकोण से, यह उद्यम सिस्टम के बीच संचार समस्याओं को हल करता है जिससे उनके पहले के अव्यवस्थित और असंरचित नेटवर्क कनेक्शन को एक प्रबंधित और संरचित स्टार कॉन्फ़िगरेशन में परिवर्तित किया जाता है। 2. सर्विस-ओरिएंटेड सिस्टम: फंक्शनल दृष्टिकोण से, यह बिजनेस लॉजिक को पुन: उपयोग योग्य और संयोजन योग्य सेवाओं में अमूर्त करता है और बिजनेस प्रक्रियाओं के त्वरित पुनर्निर्माण को प्राप्त करने के लिए सर्विस ऑर्केस्ट्रेशन का उपयोग करता है। 3. बिजनेस सर्विस-ओरिएंटेड: उद्यम के दृष्टिकोण से, यह उद्यम कार्यों को पुन: उपयोग योग्य और संयोजन योग्य सेवाओं में अमूर्त करता है। | 1. सेवाओं को केंद्रीकृत करने से सेवाओं के बीच निर्भरताएं बनती हैं, और एक सेवा में खराबी अन्य सेवाओं में कैस्केडिंग विफलता को ट्रिगर कर सकती है। 2. सेवाओं के बीच निर्भरताएं और आह्वान संबंध जटिल होते हैं, जिससे परीक्षण और तैनाती मुश्किल हो जाती है। |
| माइक्रोसर्विस आर्किटेक्चर | माइक्रोसर्विसेस SOA का उत्कृष्ट रूप हैं। माइक्रोसर्विसेस आर्किटेक्चर के प्रमुख बिंदुओं में से एक है "बिजनेस को पूरी तरह से घटकीकृत और सेवाकृत करने की आवश्यकता", मूल एकल बिजनेस सिस्टम को कई भागों में विभाजित किया जाएगा जिन्हें स्वतंत्र रूप से विकसित, डिजाइन और तैनात किया जा सकता है। ये भाग छोटे, स्वतंत्र एप्लिकेशन के रूप में चलेंगे। प्रत्येक एप्लिकेशन दूसरों के साथ सहयोग और संचार करेगा ताकि एकीकरण और इंटरैक्टिविटी प्राप्त की जा सके, जो माइक्रोसर्विसेस आर्किटेक्चर का सार है। | 1. विकेंद्रीकरण; 2. सेवाओं के माध्यम से घटकीकरण; 3. बिजनेस क्षमताओं के आधार पर सेवाओं और विकास टीमों को विभाजित करना; 4. इंफ्रास्ट्रक्चर ऑटोमेशन (DevOps, स्वचालित तैनाती)। | 1. विकास लागत अपेक्षाकृत अधिक है; 2. सेवाओं के लिए फॉल्ट टॉलरेंस समस्याएं पैदा करता है; 3. डेटा संगति समस्याएं पैदा करता है; 4. वितरित लेनदेन शामिल होते हैं |
इसलिए, माइक्रोसर्विसेस इंटरनेट विकास का एक अनिवार्य परिणाम हैं, और कई पारंपरिक कंपनियों की सिस्टम आर्किटेक्चर धीरे-धीरे माइक्रोसर्विस-ओरिएंटेड हो रही है।
हालांकि, इंटरनेट बिजनेस विकास के साथ, API की संख्या भी तेजी से बढ़ रही है, और एकीकृत API प्रबंधन के लिए गेटवे भी चुनौतियों का सामना करेंगे। एक अधिक मजबूत API गेटवे का चयन करना सिस्टम की निगरानी, आपदा रिकवरी, प्रमाणीकरण और दर सीमित करने की क्षमताओं को प्रभावी ढंग से बढ़ा सकता है।
API गेटवे क्या है?
API गेटवे क्लाइंट और सेवा सिस्टम के बीच इंटरैक्शन के लिए एक एकीकृत इंटरफेस प्रदान करता है और अनुरोधों और प्रतिक्रियाओं के प्रबंधन के लिए एक केंद्रीय बिंदु के रूप में कार्य करता है। एक उपयुक्त API गेटवे का चयन करना विकास को सरल बना सकता है और सिस्टम संचालन और प्रबंधन दक्षता में सुधार कर सकता है।
माइक्रोसर्विसेस आर्किटेक्चर में, एक API गेटवे सिस्टम डिजाइन के लिए एक समाधान के रूप में कार्य करता है जो विभिन्न मॉड्यूल से विभिन्न माइक्रोसर्विसेस को एकीकृत करता है और सेवाओं को एकीकृत तरीके से समन्वयित करता है।
सिस्टम एक्सेस पहलू के रूप में, API गेटवे क्लाइंट के लिए एक एकीकृत प्रवेश बिंदु प्रदान करता है, सिस्टम आर्किटेक्चर के कार्यान्वयन विवरण को छुपाता है और माइक्रोसर्विसेस को अधिक उपयोगकर्ता-अनुकूल बनाता है। यह प्रमाणीकरण, दर सीमित करना, और सर्किट ब्रेकिंग जैसी कुछ सामान्य सुविधाओं को भी एकीकृत करता है ताकि प्रत्येक माइक्रोसर्विस के लिए अलग-अलग विकास से बचा जा सके, दक्षता में सुधार हो और सिस्टम को मानकीकृत किया जा सके, जैसे कि पहचान प्रमाणीकरण, निगरानी, लोड बैलेंसिंग, दर सीमित करना, डिग्रेडेशन, और एप्लिकेशन डिटेक्शन।
माइक्रोसर्विसेस को API गेटवे की आवश्यकता क्यों है?

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

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

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

मुख्यधारा गेटवे का चयन
माइक्रोसर्विसेस में कई ओपन-सोर्स गेटवे कार्यान्वयन उपलब्ध हैं, जिनमें NGINX, Kong, Apache APISIX, और Envoy शामिल हैं। Java टेक्नोलॉजी स्टैक के लिए, Netflix Zuul, Spring Cloud Gateway, Soul आदि विकल्प हैं। लेकिन आप सोच रहे होंगे, "आप NGINX और Kong के बजाय Apache APISIX क्यों चुनेंगे?"
यहां एक संक्षिप्त तुलना दी गई है।
| गेटवे | समस्याएं | फायदे |
|---|---|---|
| NGINX | 1. परिवर्तनों को प्रभावी बनाने के लिए कॉन्फ़िगरेशन में रीलोड की आवश्यकता होती है, जो क्लाउड-नेटिव टेक्नोलॉजी की प्रगति के साथ तालमेल नहीं रख सकता है। | 1. पुराने-शैली के एप्लिकेशन; 2. स्थिर, विश्वसनीय, और समय-परीक्षित; 3. उच्च प्रदर्शन |
| Apache APISIX | 1. दस्तावेज़ीकरण पर्याप्त समृद्ध या स्पष्ट नहीं है और इसमें सुधार की आवश्यकता है। | 1. Apache Foundation टॉप-लेवल प्रोजेक्ट; 2. तकनीकी आर्किटेक्चर क्लाउड-नेटिव सिद्धांतों के साथ अधिक संगत है; 3. उत्कृष्ट प्रदर्शन; 4. समृद्ध इकोसिस्टम; 5. Lua डेवलपमेंट प्लगइन्स के अलावा, यह Java, Go, Python, Node, और अन्य भाषाओं के लिए प्लगइन्स का भी समर्थन करता है। |
| Kong | 1. PostgreSQL या Cassandra डेटाबेस का डिफ़ॉल्ट उपयोग पूरे आर्किटेक्चर को बहुत भारी बना देता है और उच्च उपलब्धता समस्याएं पैदा कर सकता है; 2. रूटिंग एक ट्रैवर्सल सर्च एल्गोरिदम का उपयोग करता है, जिससे गेटवे में हजारों रूट होने पर प्रदर्शन में महत्वपूर्ण कमी आ सकती है; 3. कुछ महत्वपूर्ण सुविधाओं के लिए भुगतान की आवश्यकता होती है; | 1. ओपन-सोर्स API गेटवे का अग्रणी जिसका एक बड़ा उपयोगकर्ता आधार है; 2. प्रदर्शन अधिकांश उपयोगकर्ताओं की आवश्यकताओं को पूरा करता है; 3. समृद्ध इकोसिस्टम; 4. यह Lua और Go प्लगइन डेवलपमेंट का समर्थन करता है; |
| Envoy | 1. यह C++ में विकसित है, जिससे द्वितीयक विकास मुश्किल हो जाता है; 2. C++ के साथ फिल्टर विकसित करने के अलावा, यह WASM और Lua का भी समर्थन करता है। | 1. CNCF ग्रेजुएट प्रोजेक्ट सेवा मेश परिदृश्यों के लिए अधिक उपयुक्त है और बहु-भाषा आर्किटेक्चर की तैनाती का समर्थन करता है; |
| Spring Cloud Gateway | 1. हालांकि Spring समुदाय परिपक्व है, लेकिन Gateway के लिए संसाधनों की कमी है। | 1. गेटवे बाहर-बॉक्स सुविधाओं की एक समृद्ध श्रृंखला प्रदान करता है, जिन्हें SpringBoot कॉन्फ़िगरेशन या हाथ से कोड कॉल के माध्यम से उपयोग किया जा सकता है; 2. Spring फ्रेमवर्क अत्यधिक विस्तार योग्य है जिसमें मजबूत स्केलेबिलिटी, आसान कॉन्फ़िगरेशन, और अच्छी रखरखाव क्षमता है; 3. Spring समुदाय परिपक्व है; 4. उपयोग में आसान; 5. Java टेक्नोलॉजी स्टैक के लिए सुविधाजनक। |
सारांश
जैसे-जैसे इंटरनेट दुनिया विकसित होती जा रही है, उद्यम तेजी से विकसित हो रहे हैं, जिससे सिस्टम आर्किटेक्चर में लगातार परिवर्तन हो रहे हैं। माइक्रोसर्विसेस आर्किटेक्चर को कई कंपनियों द्वारा व्यापक रूप से अपनाया गया है।
जैसे-जैसे माइक्रोसर्विसेस का डेटा और API मात्रा बढ़ती है, उच्च-ट्रैफ़िक प्रबंधन के लिए एक उत्कृष्ट API गेटवे का चयन करना महत्वपूर्ण हो जाता है।
यह लेख सामान्य API गेटवे की तुलना करता है, उनके संबंधित फायदे और नुकसान को उजागर करता है। यदि आप एक API गेटवे टेक्नोलॉजी का चयन करने की प्रक्रिया में हैं, अपने माइक्रोसर्विसेस सिस्टम में प्रदर्शन समस्याओं का सामना कर रहे हैं, या एक कुशल और स्थिर माइक्रोसर्विसेस सिस्टम बनाने की योजना बना रहे हैं, तो यह लेख आपको कुछ उपयोगी अंतर्दृष्टि प्रदान करने का प्रयास करता है।