Apache APISIX के उन्नत स्थिरता और फॉल्ट टॉलरेंस तंत्र

January 20, 2024

Technology

API गेटवे चुनते समय, स्थिरता और फॉल्ट टॉलरेंस कार्यक्षमता, स्केलेबिलिटी और सुरक्षा के साथ-साथ महत्वपूर्ण कारक हैं। 2019 में Apache APISIX के डिज़ाइन में, स्थिरता और फॉल्ट टॉलरेंस को आवश्यक माना गया था, क्योंकि आंतरिक और बाहरी ट्रैफ़िक अनुरोधों को संभालते समय उत्पादन में गंभीर घटनाएं हो सकती हैं।

शोधकर्ताओं को व्यापक समझ प्रदान करने के लिए, आइए Apache APISIX की प्रमुख स्थिरता और फॉल्ट टॉलरेंस विशेषताओं पर गहराई से विचार करें।

कंट्रोल प्लेन और डेटा प्लेन का अलगाव

Apache APISIX एक अलग आर्किटेक्चर अपनाता है जिसमें एक कंट्रोल प्लेन (यानी, etcd, Admin API) और एक स्टेटलेस डेटा प्लेन (यानी, API गेटवे मांग पर स्केल कर सकता है) होता है। इनके बीच कोई निर्भरता नहीं होती है। इसका मतलब है कि यदि कंट्रोल प्लेन में असामान्यताएं होती हैं (जैसे नेटवर्क व्यवधान या असामान्य बंद होना), तो डेटा प्लेन सामान्य रूप से काम करना जारी रख सकता है, नए ट्रैफ़िक अनुरोधों को संभाल सकता है। यह अलगाव APISIX की उच्च उपलब्धता सुनिश्चित करता है।

APISIX का तकनीकी आर्किटेक्चर

डेटा सिंक्रनाइज़ेशन मैकेनिज्म

डेटा प्लेन और कंट्रोल प्लेन के बीच एक कुशल डेटा सिंक्रनाइज़ेशन मैकेनिज्म मौजूद है। डेटा प्लेन एक etcd वॉचर के रूप में कार्य करता है, जिसे etcd द्वारा डेटा परिवर्तनों के बारे में सक्रिय रूप से सूचित किया जाता है। यह अपनी कॉन्फ़िगरेशन और नियमों को तदनुसार अपडेट करता है। इसलिए, जब एक व्यवस्थापक Admin API के माध्यम से etcd में कॉन्फ़िगरेशन लिखता है, तो डेटा प्लेन जल्दी से परिवर्तन सूचनाएं प्राप्त करता है और कॉन्फ़िगरेशन को मेमोरी में संग्रहीत करता है। यह मैकेनिज्म हर आने वाले अनुरोध के लिए etcd से कॉन्फ़िगरेशन प्राप्त करने की आवश्यकता से बचता है, जिससे सिस्टम लोड कम होता है। हालांकि, यह ध्यान रखना महत्वपूर्ण है कि कंट्रोल प्लेन में असामान्यताएं होने पर, डेटा प्लेन इंस्टेंस को पुनः आरंभ करने से बचना चाहिए ताकि मेमोरी में संग्रहीत कॉन्फ़िगरेशन का नुकसान न हो।

कंट्रोल प्लेन असामान्यताएं

नेटवर्क संचार व्यवधान

यदि API गेटवे और etcd के बीच नेटवर्क व्यवधान होता है, तो Admin API के माध्यम से etcd में लिखी गई कॉन्फ़िगरेशन गेटवे तक नहीं पहुंचेगी। हालांकि, गेटवे पहले से सहेजी गई मेमोरी कॉन्फ़िगरेशन का उपयोग करके नए ट्रैफ़िक अनुरोधों को संभालना जारी रखता है, जिससे etcd के साथ कनेक्शन खोने के कारण असामान्य बंद होने से बचा जाता है। एक बार गेटवे और etcd के बीच कनेक्शन पुनर्स्थापित हो जाने पर, गेटवे नवीनतम कॉन्फ़िगरेशन प्राप्त करता है और सामान्य संचालन फिर से शुरू करता है।

etcd असामान्य क्रैश

यदि etcd में असामान्य क्रैश होता है, तो व्यवस्थापक Admin API के माध्यम से कॉन्फ़िगरेशन लिखने में सक्षम नहीं होंगे। हालांकि, यह गेटवे के संचालन को प्रभावित नहीं करता है, जो काम करना और ट्रैफ़िक अनुरोधों को संभालना जारी रखता है। इस परिदृश्य में, गेटवे का व्यवहार नेटवर्क व्यवधान के बाद की स्थिति के समान होता है।

मल्टी-नोड डिप्लॉयमेंट और लोड बैलेंसिंग

उच्च उपलब्धता सुनिश्चित करने के लिए, कई गेटवे इंस्टेंस डिप्लॉय करने और उनके बीच एक लोड बैलेंसर (जैसे AWS लोड बैलेंसर या F5) स्थापित करने की सिफारिश की जाती है। इन लोड बैलेंसर में हेल्थ चेक मैकेनिज्म होते हैं जो गेटवे इंस्टेंस की स्वास्थ्य स्थिति का आकलन करते हैं। यदि एक गेटवे इंस्टेंस विफल हो जाता है, तो लोड बैलेंसर इसे सेवा से तुरंत हटा देता है और नए गेटवे नोड्स जोड़ सकता है। यह मल्टी-नोड डिप्लॉयमेंट और लोड बैलेंसिंग रणनीति एकल नोड की विफलता के कारण व्यावसायिक व्यवधानों को रोकने में मदद करती है।

निष्कर्ष

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

Tags: