एपीआई गेटवे लागू करना
अपने माइक्रोसर्विस के लिए क्लाइंट अनुरोधों के एकल प्रवेश बिंदु के रूप में काम करने वाला एपीआई गेटवे डिज़ाइन और सेट अप करें।
एपीआई गेटवे लागू करना, CoddyKit पर Node.js बैकएंड विकास बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Node.js बैकएंड विकास बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
API Gateway: मुख्य प्रवेश-द्वार
माइक्रोसर्विस आर्किटेक्चर में क्लाइंट को अक्सर कई अलग-अलग सेवाओं के साथ संवाद करना पड़ता है। एक API Gateway सभी क्लाइंट अनुरोधों के लिए एकल, एकीकृत प्रवेश-बिंदु का काम करता है।
इसे किसी बड़े होटल के स्वागत-कक्ष की तरह समझिए। मेहमानों को खुद विशिष्ट कमरों (माइक्रोसर्विस) को खोजने के बजाय, वे स्वागत-कक्ष पर जाते हैं, जहाँ से उन्हें सही स्थान तक पहुँचाया जाता है और सामान्य अनुरोध सँभाले जाते हैं।

API Gateway का उपयोग क्यों करें?
API Gateway माइक्रोसर्विस का उपयोग करते समय आने वाली कई चुनौतियों का समाधान करता है:
- क्लाइंट को सरल बनाता है: क्लाइंट को कई माइक्रोसर्विस URL के बजाय केवल एक एंडपॉइंट (Gateway) की जानकारी रखनी पड़ती है।
- अनुरोध रूटिंग: आने वाले अनुरोधों को सही बैकएंड सेवा तक पहुँचाता है।
- सामान्य चिंताएँ: प्रमाणीकरण, अनुरोध-दर सीमा और लॉगिंग जैसी विभिन्न सेवाओं में साझा चिंताओं को एक ही स्थान पर सँभालता है।
- सेवा एकत्रीकरण: कई सेवाओं के उत्तरों को एकल, क्लाइंट के लिए सुविधाजनक उत्तर में मिला सकता है।
Gateway बनाम लोड बैलेंसर
API Gateway और लोड बैलेंसर को लेकर भ्रम होना आसान है, लेकिन दोनों के उद्देश्य अलग-अलग हैं:
- लोड बैलेंसर: उच्च उपलब्धता और बेहतर प्रदर्शन के लिए एक ही सेवा के कई इंस्टेंस में ट्रैफ़िक बाँटने हेतु नेटवर्क परत (परत 4) या ऐप्लिकेशन परत (परत 7) पर काम करता है।
- API Gateway: ऐप्लिकेशन परत (परत 7) पर काम करता है और API-विशिष्ट चिंताओं पर ध्यान देता है। यह अनुरोधों को अलग-अलग सेवाओं तक पहुँचाता है और रूपांतरण या सुरक्षा जाँच कर सकता है।
वे अक्सर साथ मिलकर काम करते हैं और लोड बैलेंसर API Gateway के सामने स्थित होता है।
Gateway की प्रमुख ज़िम्मेदारियाँ
API Gateway कई महत्वपूर्ण भूमिकाएँ निभाता है:
- अनुरोध रूटिंग: विशिष्ट API पथ (जैसे,
/users) को उपयुक्त माइक्रोसर्विस से मैप करना। - प्रमाणीकरण और प्राधिकरण: अनुरोध आगे भेजने से पहले उपयोगकर्ता की पहचान और अनुमतियों की जाँच करना।
- अनुरोध-दर सीमा: किसी निश्चित समयावधि में क्लाइंट द्वारा किए जा सकने वाले अनुरोधों की संख्या नियंत्रित करना।
- कैशिंग: बार-बार पहुँचाए जाने वाले डेटा को संग्रहीत करके बैकएंड सेवाओं पर भार कम करना और उत्तर समय बेहतर बनाना।
- लॉगिंग और निगरानी: सभी आने वाले अनुरोधों और बाहर भेजे गए उत्तरों के लॉग को एक जगह संग्रहीत करना।
एक सरल Gateway बनाना
आप Node.js और Express.js जैसे फ़्रेमवर्क का उपयोग करके कस्टम API Gateway बना सकते हैं। Express में HTTP अनुरोधों को प्रॉक्सी करने के लिए एक लोकप्रिय लाइब्रेरी http-proxy-middleware है।
यह लाइब्रेरी आपके Gateway से बैकएंड माइक्रोसर्विस तक अनुरोधों को आसानी से आगे भेजने में मदद करती है और रिवर्स प्रॉक्सी की तरह काम करती है।
मूल प्रॉक्सी सेटअप
आइए एक सरल Express.js सर्वर सेट करते हैं, जो प्रॉक्सी की तरह काम करेगा। यह गेटवे port 3000 पर सुनता रहेगा और /api से शुरू होने वाले सभी अनुरोधों को port 3001 पर चल रही नकली 'users' माइक्रोसर्विस को भेजेगा।
ध्यान रखें, पूरी कार्यक्षमता के लिए http://localhost:3001 पर एक वास्तविक माइक्रोसर्विस चल रही होनी चाहिए।
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const app = express();
const GATEWAY_PORT = 3000;
// Proxy all requests starting with /api to the users microservice
app.use(
'/api',
createProxyMiddleware({
target: 'http://localhost:3001', // Target URL of your users microservice
changeOrigin: true, // Needed for virtual hosted sites
logLevel: 'debug' // Optional: for seeing proxy activity in console
})
);
// Simple root route for gateway status
app.get('/', (req, res) => {
res.send('API Gateway is running. Try /api/users (if microservice is active).');
});
app.listen(GATEWAY_PORT, () => {
console.log(`API Gateway listening on port ${GATEWAY_PORT}`);
console.log('Proxying /api to http://localhost:3001');
});कई सेवाओं तक रूटिंग
एपीआई गेटवे की शक्ति इस क्षमता से आती है कि वह अनुरोध के पथ, HTTP विधि या अन्य मानदंडों के आधार पर अनुरोधों को अलग-अलग माइक्रोसर्विस तक भेज सकता है।
आप कई प्रॉक्सी नियम परिभाषित कर सकते हैं, जिनमें से प्रत्येक अलग बैकएंड सेवा की ओर संकेत करता है। उदाहरण के लिए, /users उपयोगकर्ता सेवा तक जाता है और /products उत्पाद सेवा तक।
बहु-सेवा रूटिंग का उदाहरण
यहाँ हम अपने गेटवे का विस्तार करते हैं, ताकि /users के अनुरोधों को port 3001 पर चल रही 'users-service' और /products के अनुरोधों को port 3002 पर चल रही 'products-service' तक भेजा जा सके।
pathRewrite विकल्प महत्वपूर्ण है: यह अनुरोध को लक्ष्य सेवा तक भेजने से पहले पथ का उपसर्ग (जैसे /users) हटा देता है।
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const app = express();
const GATEWAY_PORT = 3000;
// Proxy for user-related requests
app.use(
'/users',
createProxyMiddleware({
target: 'http://localhost:3001', // Users Microservice URL
changeOrigin: true,
pathRewrite: { '^/users': '' }, // Remove /users prefix
logLevel: 'debug'
})
);
// Proxy for product-related requests
app.use(
'/products',
createProxyMiddleware({
target: 'http://localhost:3002', // Products Microservice URL
changeOrigin: true,
pathRewrite: { '^/products': '' }, // Remove /products prefix
logLevel: 'debug'
})
);
app.get('/', (req, res) => {
res.send('API Gateway is running. Try /users or /products (if microservices are active).');
});
app.listen(GATEWAY_PORT, () => {
console.log(`API Gateway listening on port ${GATEWAY_PORT}`);
console.log('Proxying /users to http://localhost:3001');
console.log('Proxying /products to http://localhost:3002');
});गेटवे के लिए केंद्रीकृत मिडलवेयर
एपीआई गेटवे के सबसे बड़े लाभों में से एक है अनुरोधों के आपकी माइक्रोसर्विस तक पहुँचने से पहले ही सामान्य आवश्यकताओं के लिए मिडलवेयर लागू करना।
आप अपने गेटवे में सभी मार्गों के लिए या विशिष्ट मार्गों के लिए Express मिडलवेयर फ़ंक्शन लागू करके ये कार्य कर सकते हैं:
- प्रमाणीकरण: JWT या सत्र टोकन की पुष्टि करना।
- लॉग दर्ज करना: आने वाले प्रत्येक अनुरोध का लॉग दर्ज करना।
- दर सीमित करना: अनुरोधों की आवृत्ति सीमित करके दुरुपयोग रोकना।
- इनपुट सत्यापन: अनुरोध को आगे भेजने से पहले बुनियादी सत्यापन करना।
गेटवे पर त्वरित जाँच
एपीआई गेटवे माइक्रोसर्विस संरचना का एक महत्वपूर्ण घटक होता है। आइए जाँचते हैं कि आप इसके मुख्य उद्देश्य को कितना समझते हैं।
गेटवे का सारांश
आपने एपीआई गेटवे, माइक्रोसर्विस में उनके महत्व और Express.js तथा http-proxy-middleware का उपयोग करके एक बुनियादी गेटवे बनाना सीखा है।
मुख्य बातें:
- एपीआई गेटवे एकल प्रवेश-बिंदु उपलब्ध कराकर क्लाइंट के साथ होने वाली अंतःक्रियाओं को सरल बनाते हैं।
- वे रूटिंग, प्रमाणीकरण, दर सीमित करने और अन्य साझा सरोकारों को संभालते हैं।
http-proxy-middlewareके साथ Express.js कस्टम गेटवे बनाने का एक लचीला तरीका है।
मज़बूत और विस्तार योग्य माइक्रोसर्विस बनाने के लिए एपीआई गेटवे में दक्षता हासिल करना आवश्यक है!
एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 22
- पाठ
- 92
अक्सर पूछे जाने वाले प्रश्न
क्या “एपीआई गेटवे लागू करना” पाठ निःशुल्क है?
हाँ—“एपीआई गेटवे लागू करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“एपीआई गेटवे लागू करना” में मैं क्या सीखूँगा?
अपने माइक्रोसर्विस के लिए क्लाइंट अनुरोधों के एकल प्रवेश बिंदु के रूप में काम करने वाला एपीआई गेटवे डिज़ाइन और सेट अप करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Node.js बैकएंड विकास बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Node.js बैकएंड विकास बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Node.js बैकएंड विकास बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“एपीआई गेटवे लागू करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Node.js बैकएंड विकास बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Node.js बैकएंड विकास बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- माइक्रोसर्विस आर्किटेक्चर का परिचय
- Node.js माइक्रोसर्विस विकसित करना
- एपीआई गेटवे लागू करना
- मैसेज क्यू से सेवाओं के बीच संचार