ऐसे कई ठोस कारण हैं जिनकी वजह से लोग एपीआई प्रदर्शन में सुधार करना चाहते हैं:
हम बेहतर एपीआई प्रदर्शन प्राप्त करने के लिए एक केंद्रीय प्रबंधन प्रणाली के रूप में एक प्रॉक्सी स्थापित करेंगे। प्रॉक्सी क्लाइंट और सर्वर के बीच मध्यस्थ के रूप में कार्य करता है। यह एपीआई अनुरोध करने वाले क्लाइंट और एपीआई होस्ट करने वाले सर्वर के बीच बैठता है। जब कोई क्लाइंट एपीआई अनुरोध करता है, तो वह पहले प्रॉक्सी से गुजरता है, जो फिर सर्वर को अनुरोध भेजता है। सर्वर अनुरोध को संसाधित करता है और प्रतिक्रिया को प्रॉक्सी को वापस भेजता है, जो फिर इसे क्लाइंट को भेज देता है। यह प्रॉक्सी को आवश्यकतानुसार अनुरोध या प्रतिक्रिया को रोकने, संशोधित करने या कैश करने की अनुमति देता है, जिससे एपीआई प्रदर्शन को अनुकूलित करने के अवसर मिलते हैं।
MacOS (या Linux ) के लिए, अपने सिस्टम पर Homebrew इंस्टॉल करें।
MacOS पर Nginx इंस्टॉल करने के लिए निम्नलिखित चरण हैं:
1️⃣ होमब्रू डाउनलोड करें
MacOS पर Nginx इंस्टॉल करने के लिए, सिस्टम पर Homebrew इंस्टॉल होना चाहिए। होमब्रू मैक ऑपरेटिंग सिस्टम के लिए एक पैकेज मैनेजर है जो हमें विभिन्न यूनिक्स एप्लिकेशन आसानी से इंस्टॉल करने की अनुमति देता है। यदि आपके पास Homebrew नहीं है, तो इंस्टॉल करने के लिए निम्नलिखित लिंक का उपयोग करें: https://brew.sh/
या बस टर्मिनल पर निम्नलिखित कमांड टाइप करें:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2️⃣ Nginx इंस्टॉल करें
होमब्रू पैकेज इंस्टॉलर macOS पर Nginx वेब सर्वर को स्थापित करने में मदद करेगा। Nginx को स्थापित करने के लिए, निम्नलिखित कमांड का उपयोग करें:
brew install nginx
3️⃣ कॉन्फ़िगरेशन फ़ाइल संपादित करें
डिफ़ॉल्ट रूप से, Nginx कॉन्फ़िगरेशन फ़ाइल का स्थान है:
/opt/homebrew/etc/nginx/nginx.conf
Nginx कॉन्फ़िगरेशन फ़ाइल को संपादित करने के लिए, आप अपनी पसंद के किसी भी टेक्स्ट एडिटर का उपयोग कर सकते हैं। उदाहरण के लिए, आप nano , vim , या emacs का उपयोग कर सकते हैं। नैनो का उपयोग करके Nginx कॉन्फ़िगरेशन फ़ाइल को संपादित करने के लिए यहां एक उदाहरण कमांड दिया गया है:
nano /opt/homebrew/etc/nginx/nginx.conf
हम पोर्ट 80 पर सुनने वाले सर्वर ब्लॉक का संपादन करेंगे।
सर्वर ब्लॉक खोजें
इसके बाद, नीचे दिए गए तीन एथेरियम मेननेट आरपीसी एंडपॉइंट को शामिल करने के लिए आगे बढ़ें:
location /nodereal { proxy_pass https://eth-mainnet.nodereal.io/v1/<API KEY>; proxy_set_header Content-Type "application/json"; } location /RPCProviderA { proxy_pass <https URI endpoint>; proxy_set_header Content-Type "application/json"; } location /RPCProviderB { proxy_pass <https URI endpoint>; proxy_set_header Content-Type "application/json"; }
आवश्यकतानुसार एकाधिक आरपीसी एंडपॉइंट को शामिल करना और बाद में कॉन्फ़िगरेशन फ़ाइल को संरक्षित करना संभव है।
सिंटैक्स त्रुटियों की अनुपस्थिति सुनिश्चित करने के लिए, कृपया Nginx कॉन्फ़िगरेशन फ़ाइल के परीक्षण के साथ आगे बढ़ें:
nginx -t
🎊 यदि कोई त्रुटि मौजूद नहीं है, तो निम्नलिखित परिणाम प्रदर्शित किया जाएगा।
nginx: कॉन्फ़िगरेशन फ़ाइल /opt/homebrew/etc/nginx/nginx.conf सिंटैक्स ठीक है
nginx: कॉन्फ़िगरेशन फ़ाइल /opt/homebrew/etc/nginx/nginx.conf परीक्षण सफल है
Nginx सर्वर को पुनरारंभ करने के लिए, कृपया निम्नलिखित कमांड निष्पादित करें:
brew services restart nginx
4️⃣ Nginx प्रॉक्सी के माध्यम से एपीआई विधि भेजना
Nginx प्रॉक्सी का परीक्षण करने के लिए, हम eth_gasPrice के माध्यम से Ethereum पर गैस की कीमत की जाँच कर रहे हैं। हम नीचे देखे गए JSON पेलोड के साथ स्थानीय मशीन पर चल रहे सर्वर के "/nodereal" स्थान (" http://localhost " पर) पर HTTP POST अनुरोध भेजने के लिए एक कर्ल कमांड भेजेंगे:
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":1}' -H "Content-Type: application/json" http://localhost/nodereal
✅ {"jsonrpc":"2.0","id":1,"result":"0xdec36a8d1"}
कर्ल कमांड चलाने के बाद आपको जो प्रतिक्रिया मिली वह एथेरियम नोड से JSON-RPC प्रतिक्रिया है। यहां प्रतिक्रिया का संक्षिप्त विवरण दिया गया है:
"0xdec36a8d1" का दशमलव मान 59797579985 है। इसलिए, अनुरोध किए जाने के समय एथेरियम नेटवर्क पर वर्तमान गैस की कीमत 59797579985 वेई (ईथर का सबसे छोटा मूल्यवर्ग) या 58 जीवीई थी।
स्थानीय मशीन (" http://localhost " पर) चलाकर शेष सर्वर, /RPCPproviderA और /RPCPproviderB के साथ इसका परीक्षण करें:
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":1}' -H "Content-Type: application/json" http://localhost/RPCProviderA
🥳 आप अपनी स्वयं की प्रॉक्सी का परीक्षण शुरू कर सकते हैं।
✅ एपीआई गेटवे के लिए प्रॉक्सी के रूप में Nginx का उपयोग करने के लाभ:
❌ एपीआई गेटवे के लिए प्रॉक्सी के रूप में Nginx का उपयोग करने के नुकसान:
अंत में, एपीआई प्रदर्शन में सुधार व्यवसायों और डेवलपर्स के लिए महत्वपूर्ण है। एपीआई गेटवे के लिए प्रॉक्सी के रूप में Nginx का उपयोग करने से लोड संतुलन, कैशिंग, स्केलेबिलिटी और सुरक्षा जैसे लाभ मिलते हैं। हालाँकि, सीमित एपीआई प्रबंधन सुविधाएँ, कॉन्फ़िगरेशन जटिलता और उन्नत प्रमाणीकरण और प्राधिकरण क्षमताओं की कमी जैसी सीमाएँ हैं। इन पक्ष-विपक्ष पर सावधानीपूर्वक विचार करना आवश्यक है। कुल मिलाकर, Nginx को प्रॉक्सी के रूप में उपयोग करना API प्रदर्शन को बेहतर बनाने के लिए एक शक्तिशाली उपकरण हो सकता है। अगली ट्यूटोरियल श्रृंखला के लिए बने रहें क्योंकि हम सामना की जाने वाली सामान्य समस्या और इसे कैसे डीबग करें, इसके बारे में अधिक जानकारी साझा करेंगे।
यहाँ भी प्रकाशित किया गया है.