API Gateway Apache APISIX और Kong चयन तुलना

API7.ai

January 18, 2020

Products

Apache APISIX और Kong दोनों ओपन-सोर्स माइक्रोसर्विस API गेटवे हैं, तो आप उनके बीच तुलना और चयन कैसे करेंगे?

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

फीचर्सApache APISIXKONG
डायनामिक अपस्ट्रीमहाँहाँ
डायनामिक राउटरहाँहाँ
हेल्थ चेकहाँहाँ
डायनामिक SSLहाँहाँ
L4 और L7 प्रॉक्सीहाँहाँ
Opentracingहाँहाँ
कस्टम प्लगइनहाँहाँ
REST APIहाँहाँ
CLIहाँहाँ

एक और विस्तृत तुलना के लिए।

फीचर्सApache APISIXKong
संबंधितApache Software FoundationKong Inc.
टेक आर्किटेक्चरNginx + etcdNginx + postgres
संचार चैनलमेल लिस्ट, वीचैट ग्रुप, QQ ग्रुप, GitHub, मीटअपGitHub, freenode, फोरम
सिंगल-कोर CPU, QPS(लिमिट-काउंट और प्रोमेथियस प्लगइन्स सक्षम)180001700
विलंबता0.2 ms2 ms
Dubboहाँनहीं
कॉन्फ़िगरेशन रोलबैकहाँनहीं
TTL के साथ रूटहाँनहीं
प्लगइन हॉट लोडिंगहाँनहीं
कस्टम LB और रूटहाँनहीं
REST API <--> gRPC ट्रांसकोडिंगहाँनहीं
Tengineहाँनहीं
MQTTहाँनहीं
कॉन्फ़िगरेशन प्रभावी समयइवेंट ड्रिवेन, < 1msपोलिंग, 5 सेकंड
डैशबोर्डहाँनहीं
IdPहाँनहीं
कॉन्फ़िगरेशन सेंटर HAहाँनहीं
निर्दिष्ट समय विंडो के लिए स्पीड लिमिटहाँनहीं
रूटिंग कंडीशन के रूप में किसी भी Nginx वेरिएबल का समर्थनहाँनहीं

प्रदर्शन

लिमिट-काउंट और प्रोमेथियस प्लगइन्स को सक्षम करने के बाद, Apache APISIX का प्रदर्शन Kong की तुलना में दस गुना अधिक है।

यहां अधिक विस्तृत चरण दिए गए हैं: https://gist.github.com/membphis/137db97a4bf64d3653aa42f3e016bd01, रुचि रखने वाले डेवलपर्स चित्र का अनुसरण करके सत्यापन कर सकते हैं।

Apache APISIX क्यों बेहतर है?

यहां, हम कार्यक्षमता और प्रदर्शन में अंतर के पीछे के कारणों पर चर्चा करते हैं:

  1. Apache APISIX की रूटिंग जटिलता O(k) है, जो केवल uri की लंबाई से संबंधित है और रूट्स की संख्या से कोई संबंध नहीं है; kong की रूटिंग समय जटिलता O(n) है, जो रूट्स की संख्या के साथ रैखिक रूप से बढ़ती है।

  2. Apache APISIX की IP मिलान की समय जटिलता O(1) है, जो बड़ी संख्या में IP निर्णयों के साथ CPU संसाधनों को समाप्त नहीं करेगी।

  3. Apache APISIX की रूट मिलान Nginx के सभी वेरिएबल्स को शर्तों के रूप में स्वीकार करती है और कस्टम फ़ंक्शन का समर्थन करती है; अन्य गेटवे में कुछ अंतर्निहित शर्तें होती हैं।

  4. Apache APISIX कॉन्फ़िगरेशन सेंटर के रूप में etcd का उपयोग करता है। कोई एकल बिंदु नहीं है, यदि कोई मशीन अनियमित रूप से डाउन हो जाती है, तो गेटवे क्लस्टर अभी भी सामान्य रूप से काम कर सकता है। रिलेशनल डेटाबेस पर आधारित अन्य गेटवे में एकल बिंदु समस्या होगी।

  5. Apache APISIX कॉन्फ़िगरेशन 1 मिलीसेकंड के भीतर सभी गेटवे नोड्स तक पहुंच सकता है, etcd watch का उपयोग करके; अन्य गेटवे डेटाबेस को नियमित रूप से पोल करते हैं, और नवीनतम कॉन्फ़िगरेशन प्राप्त करने में आमतौर पर 5 सेकंड लगते हैं।

  6. Apache APISIX प्लगइन्स को उच्च दबाव में मिलीसेकंड-स्तरीय विलंबता बनाए रखने के लिए सावधानीपूर्वक ट्यून किया गया है।

  7. Apache APISIX का अद्वितीय प्लगइन व्यवस्था और लो-कोड फीचर द्वितीयक विकास की सीमा को बहुत कम कर सकता है।

आगे पढ़ें

Tags: