API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) · पाठ

अपस्ट्रीम सर्वर और लोड संतुलन

कई बैकएंड सर्वरों को प्रबंधित करने और आने वाले अनुरोधों को वितरित करने के लिए Nginx अपस्ट्रीम ब्लॉक कॉन्फ़िगर कीजिए।

पाठ 2, कुल 4 में से11 चरण

अपस्ट्रीम सर्वर और लोड संतुलन, CoddyKit पर API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

अपने अनुप्रयोगों को बड़े पैमाने पर चलाना

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

इसे रोकने के लिए, हम भार साझा करने हेतु कई backend सर्वरों का उपयोग करते हैं। इससे प्रदर्शन और विश्वसनीयता दोनों बेहतर होते हैं।

Upstream सर्वरों का परिचय

Nginx रिवर्स प्रॉक्सी के रूप में काम करते हुए अनुरोधों को backend सर्वरों के एक समूह में वितरित कर सकता है। इन backend सर्वरों को अक्सर upstream सर्वर कहा जाता है।

  • स्केलेबिलिटी: अधिक सर्वर जोड़कर अधिक ट्रैफ़िक संभालें।
  • उच्च उपलब्धता: यदि एक सर्वर विफल हो जाए, तो अन्य सर्वर उत्तर दे सकते हैं।
  • भार संतुलन: सर्वरों के बीच अनुरोधों को कुशलतापूर्वक वितरित करें।

`upstream` ब्लॉक

Nginx में आप upstream ब्लॉक का उपयोग करके backend सर्वरों का एक समूह परिभाषित करते हैं। यह ब्लॉक आपके सर्वरों के समूह को एक नाम देता है, जिसका संदर्भ आप बाद में अपने location ब्लॉक में दे सकते हैं।

इसे ऐसे समझिए जैसे संसाधनों का एक नामित समूह, जिसमें Nginx अनुरोधों को आगे भेज सकता है।

मूल Upstream कॉन्फ़िगरेशन

दो सर्वरों वाले my_backends नामक सरल upstream ब्लॉक को इस तरह परिभाषित किया जाता है। प्रत्येक server निर्देश किसी backend सर्वर का पता (IP या होस्टनाम) और पोर्ट निर्दिष्ट करता है।

upstream my_backends {
  server 192.168.1.100:8080;
  server 192.168.1.101:8080;
}

Upstream को `location` से जोड़ना

एक बार upstream ब्लॉक परिभाषित हो जाने पर, आप उसे अपने Nginx सर्वर कॉन्फ़िगरेशन में location ब्लॉक के भीतर उपयोग कर सकते हैं। proxy_pass निर्देश Nginx को निर्दिष्ट upstream समूह में अनुरोध आगे भेजने के लिए कहता है।

ध्यान दें कि हम अपने परिभाषित समूह का संदर्भ देने के लिए http://my_backends का उपयोग करते हैं।

http {
  upstream my_backends {
    server 192.168.1.100:8080;
    server 192.168.1.101:8080;
  }

  server {
    listen 80;
    location /app {
      proxy_pass http://my_backends;
    }
  }
}

डिफ़ॉल्ट भार संतुलन: राउंड रॉबिन

डिफ़ॉल्ट रूप से, Nginx राउंड रॉबिन भार संतुलन विधि का उपयोग करता है। इसका अर्थ है कि अनुरोधों को upstream सर्वरों में बारी-बारी से, क्रमिक रूप में वितरित किया जाता है।

  • अनुरोध 1 सर्वर A को जाता है।
  • अनुरोध 2 सर्वर B को जाता है।
  • अनुरोध 3 सर्वर A को जाता है।
  • ...और इसी तरह।

समान रूप से वितरित भार के लिए यह सरल और प्रभावी है।

`weight` से भार को अनुकूलित करना

यदि कुछ सर्वर अधिक शक्तिशाली हों या उन्हें अधिक ट्रैफ़िक संभालना हो तो क्या होगा? अलग-अलग प्राथमिकताएँ निर्धारित करने के लिए आप server निर्देश में weight पैरामीटर का उपयोग कर सकते हैं।

अधिक weight वाले सर्वर को अनुरोधों का अनुपातिक रूप से बड़ा हिस्सा मिलेगा।

Nginx में `weight` का उदाहरण

इस उदाहरण में, server 1 का weight 3 है और server 2 का weight 1 है। इसका अर्थ है कि server 1 को server 2 की तुलना में 3 गुना अधिक अनुरोध मिलेंगे।

हर 4 अनुरोधों में से 3 server 1 को और 1 server 2 को जाएगा।

upstream my_backends {
  server 192.168.1.100:8080 weight=3;
  server 192.168.1.101:8080 weight=1;
}

अन्य सर्वर निर्देश

weight के अलावा, अन्य निर्देश सर्वर के व्यवहार को और बेहतर ढंग से समायोजित कर सकते हैं:

  • max_fails=N: Nginx द्वारा सर्वर को अनुपलब्ध मानने से पहले किए गए विफल प्रयासों की संख्या।
  • fail_timeout=Xs: max_fails प्रयासों के बाद सर्वर को अनुपलब्ध माने जाने की अवधि।
  • backup: सर्वर को बैकअप के रूप में चिह्नित करता है, जिसका उपयोग तभी होता है जब सभी प्राथमिक सर्वर बंद हों।
  • down: सर्वर को स्थायी रूप से अनुपलब्ध चिह्नित करता है।

इनसे Nginx सर्वर की स्थिति को स्वचालित रूप से प्रबंधित कर पाता है।

त्वरित जाँच: Upstream और भार संतुलन

निम्नलिखित Nginx कॉन्फ़िगरेशन अंश पर विचार करें:

upstream api_servers {
  server backend1.example.com:8080 weight=2;
  server backend2.example.com:8080;
}

server {
  listen 80;
  location /api {
    proxy_pass http://api_servers;
  }
}

यदि /api एंडपॉइंट पर 9 अनुरोध आते हैं, तो backend1.example.com:8080 को कितने अनुरोध भेजे जाएंगे?

पुनरावलोकन और अगले चरण

आपने सीखा कि Nginx कई backend सर्वरों को समूहित करने के लिए upstream ब्लॉक का उपयोग करता है, जिससे भार संतुलन संभव होता है और अनुप्रयोग की मजबूती बढ़ती है।

  • upstream ब्लॉक: सर्वरों के एक नामित समूह को परिभाषित करता है।
  • proxy_pass: किसी location को upstream समूह से जोड़ता है।
  • राउंड रॉबिन: Nginx की डिफ़ॉल्ट भार संतुलन विधि।
  • weight निर्देश: सर्वरों के बीच अनुरोधों के वितरण को अनुकूलित करता है।

अब हम जानेंगे कि प्रॉक्सी बफ़रिंग और कैशिंग से Nginx प्रदर्शन को कैसे बेहतर बना सकता है!

शुरुआत निःशुल्क

एआई शिक्षक के साथ API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “अपस्ट्रीम सर्वर और लोड संतुलन” पाठ निःशुल्क है?

हाँ—“अपस्ट्रीम सर्वर और लोड संतुलन” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“अपस्ट्रीम सर्वर और लोड संतुलन” में मैं क्या सीखूँगा?

कई बैकएंड सर्वरों को प्रबंधित करने और आने वाले अनुरोधों को वितरित करने के लिए Nginx अपस्ट्रीम ब्लॉक कॉन्फ़िगर कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“अपस्ट्रीम सर्वर और लोड संतुलन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. सरल रिवर्स प्रॉक्सी कॉन्फ़िगर करना
  2. अपस्ट्रीम सर्वर और लोड संतुलन
  3. प्रॉक्सी बफ़रिंग और कैशिंग
  4. हेडर फ़ॉरवर्ड करना और क्लाइंट IP
← API गेटवे और रिवर्स प्रॉक्सी (Nginx + Spring Cloud Gateway) पर वापस जाएँ