اتجاهات API Gateway وراء الميزات: Apache APISIX 3.0 مقابل Kong 3.0

Yilia Lin

Yilia Lin

October 16, 2022

Products

في 28 سبتمبر 2022، أطلقت Kong الإصدار الجديد Kong Gateway 3.0، والذي حقق بعض الوظائف الجديدة وتحسينات في الأداء. وفي 21 سبتمبر، أطلق Apache APISIX، المشروع الرئيسي لمؤسسة Apache Software Foundation، النسخة التجريبية من Apache APISIX 3.0، مقدمة عشر نقاط بارزة في مجال النظام البيئي والميزات.

لنلقي نظرة أقرب على الإصدار 3.0 من هذين المشروعين الشهيرين لبوابة API مفتوحة المصدر ونكتشف الاتجاهات التطويرية وراء هذه التحديثات.

لنبدأ بالنظر إلى النقاط البارزة الثمانية لـ Kong Gateway 3.0.

النقاط البارزة الثمانية لـ Kong Gateway 3.0

النقاط البارزةOSS/Enterpriseالنوعالمستخدم المستهدفالتحسينهل يدعم APISIXملاحظات
FIPS 140-2الإصدار المؤسسيالتوافقالشركات المالية والحكومات في أمريكا الشماليةالتوافقلاغير قابل للتطبيق
إدارة الأسراركليهماالتوافقالشركات الماليةOSS: متغيرات البيئة

المؤسسي: AWS Secrets Manager و HashiCorp Vault
نعميدعم APISIX HashiCorp Vault منذ ديسمبر 2021 في OSS: feat(vault): vault lua module, integration with jwt-auth authentication plugin

Kong فبراير 2022: feat(vaults) adds vaults beta support to kong
ترتيب الإضافاتالإصدار المؤسسيقابلية الاستخدامالشركات الكبيرة والمتوسطة ذات السيناريوهات المعقدةزيادة مرونة الأعمال مع الإضافاتنعمAPISIX يونيو 2022: feat: allows users to specify plugin execution priority

Kong يوليو 2022: feat(plugins) add support for ordering
Kong Manager 3.0الإصدار المؤسسيقابلية الاستخدامالشركات المتوسطة والكبيرة بدون فرق تقنية كثيرةإدارة APIs بشكل أفضل للمستخدمين المؤسسييننعمغير قابل للتطبيق
دعم عميق لـ Websocketالإصدار المؤسسيالوظيفةالمستخدمون المؤسسيون الذين يستخدمون websocket بعمقالتحقق من مخطط websocket وتحديد حجم إطار websocketنعم، جزئيًاKong ديسمبر 2016: feat(proxy) supports websockets

APISIX يدعم وكيل طلبات websocket، ويمكن استخدامه مع إضافات مثل limit-conn في يناير 2020: feature: upstream support websocket enable
OpenTelemetryكليهماالوظيفةالشركات الكبيرة والمتوسطة ذات سلاسل الأعمال المعقدةتحسين القدرة على المراقبةنعمKong يونيو 2022: feat(plugins) opentelemetry plugin

APISIX يناير 2022: feat: add opentelemetry plugin
تحسينات الأداءكليهماالأداءمزودو الخدمات السحابية، مزودو SaaS سريعي النموتقليل تكاليف الخادمنعمApache APISIX كان يتفوق في الأداء على بوابات API الأخرى منذ إطلاقه كمشروع مفتوح المصدر في 2019.
محرك توجيه جديدكليهماالأداءمزودو الخدمات السحابية، مزودو SaaS سريعي النموحل مشكلات الأداء مع عدد كبير من APIs وتقليل تكاليف الخادمنعمKong يوليو 2022: feat(router) new DSL based router support and tests fix

APISIX أغسطس 2019: feature: supported to use router lua-resty-radixtree

يمكننا تحليل ثلاثة اتجاهات من النقاط البارزة لـ Kong Gateway 3.0:

  1. استثمار Kong في الأمان والتوافق في القطاع المالي كبير نسبيًا، ويمكن تحليله من حيث التوافق مع FIPS 140-2 وإدارة الأسرار.
  • التوافق مع FIPS 140-2: FIPS 140-2 هو معيار أمان كمبيوتر تستخدمه الشركات المالية والحكومات في أمريكا الشمالية للموافقة على وحدات التشفير. تم بناء Kong Gateway 3.0 الإصدار المؤسسي على أساس BoringSSL وسيتم تكييف الإضافات لتكون متوافقة مع متطلبات المعيار. يعكس دعم Kong لـ FIPS 140-2 مرحلة تطور Kong: بعد سبع سنوات من التكرار، ركزت Kong تدريجيًا على المستخدمين المدفوعين، وتميل إلى تلبية احتياجات الشركات المالية والحكومات.

  • إدارة الأسرار: المستخدمون المستهدفون لهذه الوظيفة هم أيضًا الشركات المالية. يسمح Kong Gateway 3.0 للمستخدمين بتخزين المعلومات الحساسة بأمان في AWS Secrets Manager و HashiCorp Vault، والتي يمكن لـ Kong الوصول إليها أثناء التشغيل. بهذه الطريقة، يتم تحقيق مستوى أعلى من الحماية الأمنية.

  1. من روابط PR لكل نقطة بارزة، يمكننا معرفة أن معظم النقاط البارزة الثمانية لـ Kong Gateway 3.0 تم تنفيذها مسبقًا بواسطة Apache APISIX.

  2. شهد Kong Gateway 3.0 تحسينًا نسبيًا كبيرًا في الأداء لسببين:

  • أضاف Kong طبقة من الذاكرة المؤقتة على التوجيه، مما أدى إلى تحسين الأداء بشكل كبير في الاختبارات المعيارية. ومع ذلك، فإن المشكلة هي أن الذاكرة المؤقتة تصبح غير صالحة عند تغيير عنوان URL. للتفاصيل، تحقق من الرابط أدناه: atc.lua

  • استخدم Kong لغة Rust لتنفيذ محرك توجيه جديد تمامًا، باستخدام DSL لزيادة تعبيرية طبقة التوجيه. عند استلام وإرسال طلبات HTTP، يمكنك كتابة تعبيرات مثل:

    net.protocol == "https" && (http.method == "GET" || http.method == "POST")

    في السيناريوهات التي يتطابق فيها الطلب مع مضيف معين، يمكن كتابة التعبير التالي:

    (http.host == "example.com" && http.headers.x_example_version == "v2" ) || (http.host == "store.example.com" && http.headers.x_store_version == "v1")

    يمكننا مقارنة ذلك مع Apache APISIX. قام Apache APISIX بتنفيذ وظيفة تعبيرات التوجيه المشابهة باستخدام Lua-resty-radixtree في أغسطس 2019. تدعم تعبيرات APISIX متغيرات NGINX العشوائية ولديها مشغلات أكثر وفرة. بالإضافة إلى المقارنات الرقمية والنصية الشائعة، يتم دعم التعبيرات العادية والمصفوفات واستهداف IP.

معظم هذه النقاط البارزة الثمانية في إصدار Kong Gateway 3.0 تميل نحو الإصدار المؤسسي. يمكن للشكلين التاليين أن يعكسا اتجاه التطور التكنولوجي لـ Kong بشكل أكثر وضوحًا.

نسبة الإصدارين OSS والمؤسسي في النقاط البارزة الثمانية لـ Kong Gateway 3.0

النقاط البارزة التي يدعمها Apache APISIX في Kong Gateway 3.0

تركز الميزات التي تم إصدارها في Kong Gateway 3.0 على الحكومة والقطاع المالي والشركات الكبيرة التي تهتم أكثر بالتوافق الأمني.

تحليل النقاط البارزة الثمانية لـ Apache APISIX 3.0

أطلق Apache APISIX، بوابة API مفتوحة المصدر، نسخة تجريبية من الإصدار 3.0، والتي تتضمن عشر نقاط بارزة في الإصدار 3.0 من Apache APISIX. قام المؤلف باختيار أهم ثماني نقاط للتحليل. هذه النقاط البارزة الثمانية كلها للإصدار المفتوح المصدر، وتركز على التحسينات في النظام البيئي والتكنولوجيا.

النقاط البارزةالنوعالمستخدم المستهدفالتحسينهل يدعم Kong
الدعم الكامل لـ ARM64النظام البيئيالشركات التي تهاجر إلى السحابة على نطاق واسعتقليل تكاليف الخادمنعم، جزئيًا
عميل gRPCالأداءمتطلبات تحسين APISIXالتحسينلا
دعم محسن لاكتشاف الخدماتالنظام البيئي، الوظيفةالأعمال التي تعتمد على الخدمات الصغيرةلا
إطار عمل xRPCالنظام البيئي، الوظيفةشركات الإنترنتتقليل تكاليف الخادملا
القدرة على المراقبة على L4الوظيفةالشركات الكبيرة والمتوسطة ذات الوظائف التجارية المعقدةتعزيز القدرة على المراقبةلا
دعم Gateway APIالنظام البيئيشركات الإنترنتإدارة APIs بشكل أفضل للمستخدمين المؤسسييننعم
المزيد من الإضافات: OpenFunction, ClickHouse, Elasticsearch, SAML, CASالنظام البيئي، الوظيفةشركات الإنترنتمتغيرات البيئة لـ OSS، AWS Secrets Manager، و HashiCorp Vault للإصدار المؤسسيلا
مستوى الذكاء الاصطناعيالذكاءشركات الإنترنتمشكلات الأداء مع عدد كبير من APIs وتقليل تكاليف الخادملا

معلومات أخرى يمكننا الحصول عليها من الجدول أعلاه هي أن Apache APISIX يتحسن في جوانب النظام البيئي والوظائف. من بين هذه النقاط البارزة، هناك نقطتان رئيسيتان:

  • مستوى الذكاء الاصطناعي: بالإضافة إلى مستوى البيانات ومستوى التحكم، أضاف Apache APISIX مستوى ذكاء اصطناعي في الإصدار 3.0، والذي يخفف الضغط على مطوري التطبيقات والعمليات من خلال تعلم وتحليل حركة API والتكوين. على سبيل المثال، يمكن تحسين السيناريوهين التاليين تلقائيًا بواسطة مستوى الذكاء الاصطناعي:

    1. اكتشاف APIs بدون مصادقة وإرسال تحذيرات المخاطر إلى المديرين.
    2. تسريع المعالجة عن طريق تخطي المراحل غير الضرورية لـ APIs التي تم تكوينها فقط مع الإضافات في مرحلة الوصول، مثل المصادقة.

    يجلب مستوى الذكاء الاصطناعي إمكانيات جديدة لمعالجة حركة المرور. في المستقبل، يمكن معالجة الإحماء التلقائي للخدمات العلوية واكتشاف التهديدات الأمنية من خلال مستوى الذكاء الاصطناعي.

  • الدعم الكامل لـ ARM64: أصبح ARM64 بنية خادم شائعة جدًا لمزودي السحابة. بدأ العديد من مزودي السحابة في طرح خوادم تعتمد على بنية Arm مثل AWS Graviton و GCP Tau T2A. قام Apache APISIX بإجراء اختبارات CI شاملة على ARM64 لضمان سلاسة تشغيل Apache APISIX تحت بنية Arm. يهتم المستخدمون كثيرًا بهذا. مقارنة أداء بنية ARM مع GCP و AWS تلقى ما يقرب من 100 تعليق على Hacker News.

الخلاصة

حققت Kong Gateway 3.0 تقدمًا جديدًا في التوافق، قابلية الاستخدام، الوظائف، والأداء، مع تركيز أكبر على التوافق الأمني للمؤسسات. جميع الوظائف التي قدمها Apache APISIX 3.0 هي مفتوحة المصدر مع تركيز أكبر على النظام البيئي واستكشاف التكنولوجيا الجديدة.

لننتظر ونرى كيف ستتطور وتتطور Kong و Apache APISIX في المستقبل!

Tags: