APISIX تعزز الشبكة لمزود خدمة CDN السحابي الضخم

Jing Yan

Jing Yan

January 31, 2023

Case Study

نظرة عامة

حول UPYUN

UPYUN، وهي شركة رائدة في تقديم خدمات السحابة المؤسسية في الصين، تختص بتقديم حلول CDN (شبكة توصيل المحتوى) القائمة على السيناريوهات. مع وجود 10 مراكز لمعالجة البيانات، وأكثر من 1000 عقدة CDN محلية، وما يقرب من 100 عقدة CDN عالمية، و40,000 خادم، و10 تيرابايت من النطاق الترددي المحجوز، توفر UPYUN حلولًا آمنة لمختلف السيناريوهات، حيث تتعامل مع حجم طلبات يومي يتجاوز 150 مليار طلب.

التحديات

  • واجهت UPYUN تحديات في إدارة اتصالات الحركة مع Kong، الذي كان يعمل كبوابة للشبكة العامة.

  • فيما يتعلق بوحدة تحكم الـ ingress، واجهت UPYUN مشاكل مع Ingress-Nginx بما في ذلك الاعتماد المعقد على المكونات، وضعف قابلية النقل، وقدرات دلالية ضعيفة، مما شكل صعوبات في صيانة البوابة.

النتائج

  • APISIX تبرز في التعامل مع الحركة، حيث تلبي متطلبات النسخ الاحتياطي وتحميل الحركة من خلال قدرتها على التوجيه الديناميكي. كما أن UPYUN قد عززت توحيد المكونات بمساعدة APISIX، مما أدى إلى تحسين كفاءة معالجة الحركة وتسجيلها.

  • من خلال استخدام الإضافات الخاصة بـ APISIX، نجحت UPYUN في تنفيذ مصادقة هوية الموظفين والتكامل مع Lark، مما أدى إلى تحسين وظائف بوابة الشبكة العامة.

  • قدمت APISIX مراقبة متقدمة وفحوصات صحية لنظام UPYUN من خلال دعم Prometheus وSkyWalking.

الخلفية

خصائص أعمال UPYUN

تعتبر البوابات جزءًا لا غنى عنه في نظام أعمال UPYUN. يمكنها تنسيق وتحسين وضمان التشغيل السلس للخدمات المختلفة، مما يوفر لـ UPYUN حلولًا فعالة وآمنة ومستقرة. لذلك، كانت UPYUN تعمل على تحسين بنية البوابة الداخلية.

سيناريوهات أعمال UPYUN

داخليًا، تستخدم UPYUN APISIX كبوابة للشبكة العامة ووحدة تحكم الـ ingress.

  • بوابة الشبكة العامة تركز على معالجة حركة الإنترنت، وتعمل كبوابة للخدمات الخارجية.

  • وحدة تحكم الـ ingress تختص بإدارة الوصول الخارجي إلى الخدمات داخل مجموعة Kubernetes، مما يتيح توجيه ومراقبة الحركة بشكل مرن من خلال تكوين موارد الـ ingress.

نقاط الألم قبل استخدام APISIX

قبل اعتماد APISIX، كانت UPYUN تستخدم Kong كنشر للبوابة العامة واستخدمت Ingress-Nginx كوحدة تحكم للـ ingress. ومع ذلك، واجهت UPYUN بسرعة عدة مشاكل.

  • عبء كبير على اتصالات قاعدة البيانات: الاتصال بقاعدة بيانات PostgreSQL داخل بنية Kong في UPYUN يمكن أن يؤدي إلى عدد كبير من الاتصالات، مما قد يؤثر على أداء قاعدة البيانات.

  • تعقيدات في نظام التحكم بالاتصالات: على الرغم من إضافة وكلاء في المقدمة، تواجه UPYUN تحديات في إدارة نظام الاتصالات بشكل فعال أثناء تحديثات النظام أو إعادة التشغيل، مما يزيد من تعقيد صيانة النظام.

  • تعقيد تشغيل Ingress-Nginx: يواجه Ingress-Nginx تحديات في تطوير الإضافات بسبب الاعتماد المعقد على المكونات، مما يعيق قابلية النقل ويزيد من تعقيد التطوير والصيانة. بالإضافة إلى ذلك، يظهر ضعفًا في القدرات الدلالية، مما يؤثر على المرونة في السيناريوهات التجارية المعقدة. تتطلب عملية إعادة التحميل مع كل تعديل في قاعدة الـ ingress جوانب غير مرغوبة، خاصة في السيناريوهات التي تعتمد على الاتصالات المستمرة.

في التعامل مع تعقيدات الحفاظ على المنطق الحالي، شكلت هذه المشاكل تحديًا كبيرًا لـ UPYUN. نتيجة لذلك، بدأ الفريق في البحث عن بدائل أكثر تطورًا وبساطة في البوابات لتعزيز الكفاءة التشغيلية.

لماذا اختارت UPYUN APISIX

مرونة متزايدة مع بنية إضافات قوية

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

استقرار ممتاز

في عالم العمليات السحابية، يأتي الاستقرار في المقدمة، خاصة للشركات الصغيرة أو تلك التي لديها فرق عمليات محدودة. اختيار APISIX كحل للبوابة لا يضمن فقط تجربة مستخدم مستقرة للمستخدمين الخارجيين، بل يدير أيضًا تكاليف التشغيل لنشر الأعمال الداخلية بشكل فعال.

مجتمع مفتوح المصدر داعم

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

قابلية توسع مذهلة

على عكس البرمجيات المغلقة، توفر APISIX قابلية توسع رائعة تمكن المطورين من التكيف والدمج بسلاسة. على سبيل المثال، تمكن التوسع متعدد اللغات في APISIX UPYUN من إنشاء وظائف إضافية تلبي احتياجات أعمالهم في سياق التوسع التجاري. هذه الميزة لا تعزز فقط كفاءة التطوير في UPYUN بشكل كبير، بل تجلب أيضًا راحة أكبر لتكرارات الميزات والصيانة اللاحقة.

تكامل سلس وتخصيص مبسط

قامت UPYUN بدمج Ingress-Nginx في بعض مجموعات Kubernetes. في غياب نظام إضافات في Ingress-Nginx سابقًا، قاموا بتخصيص إضافات معينة. مع وجود تداخل وظيفي ملحوظ بين Apache APISIX وNGINX في بوابات مراكز البيانات الداخلية والبيئات الحاوية، تعتزم UPYUN استبدال جميع بوابات Ingress-Nginx الحاوية المستخدمة سابقًا بـ وحدة تحكم Apache APISIX Ingress. تهدف هذه الخطوة إلى توحيد المكونات على مستوى البوابة، مما يخفف من التكرار المحتمل في جهود التطوير والتشغيل المستقبلية.

دعم محسن لإعادة التحميل

تأتي وحدة تحكم APISIX Ingress مع دعم لإعادة التحميل، مما يرفع الكفاءة التشغيلية إلى مستويات جديدة. تتيح هذه الميزة تحديثات ديناميكية للتكوينات دون انقطاع الخدمة، مما يتيح نشرًا سريعًا ومناورات تشغيلية مرنة. النتيجة هي تعزيز كبير في الكفاءة التشغيلية، مما يبسط صيانة النظام ليكون أكثر ملاءمة وسرعة.

تنفيذ APISIX

يظهر الهيكل الحالي للبوابة الداخلية لـ UPYUN في الرسم التالي. يتم توجيه الحركة الخارجية أولاً عبر Apache APISIX، ثم يتم توجيهها إلى وحدة تحكم APISIX Ingress عبر APISIX. أخيرًا، تصل إلى الخدمات الخلفية للمعالجة التجارية اللاحقة.

تنفيذ_APISIX

بوابة الشبكة العامة

التحكم في الحركة

تعمل بوابة الشبكة العامة كمدخل رئيسي للحركة الخارجية، حيث تتحمل مسؤولية كبيرة تتطلب التحكم الدقيق وإدارة كل تدفق يدخل إلى مركز البيانات الداخلي. في هذا الجانب الحاسم، قدمت APISIX لـ UPYUN مجموعة من خدمات التحكم في الحركة من خلال ميزاتها القوية.

بدايةً، قامت بوابة APISIX بإدارة الحركة من خلال التعامل مع وصول API من عقد CDN الطرفية. لم يساعد ذلك فقط في تحسين أداء عقد CDN، بل وضع أيضًا الأساس لإدارة الحركة اللاحقة. بالإضافة إلى ذلك، تعاملت APISIX ببراعة مع الحركة المتعلقة بالصفحات الثابتة للموقع الرسمي والدعم الفني، مما أظهر قدراتها المتعددة في التحكم في الحركة. مكن هذا النهج الموجه لمعالجة الحركة UPYUN من التعامل بمرونة مع متطلبات الوصول المتنوعة، مما عزز في النهاية الكفاءة العامة للنظام.

مصادقة الهوية

تلعب الإضافات دورًا محوريًا داخل UPYUN، خاصة في سياق وصول الموظفين إلى المنصة الداخلية. حاليًا، يمر الموظفون بعملية مصادقة باستخدام طرق مثل البريد الإلكتروني وLark. بفضل إضافة openid-connect القوية في Apache APISIX، تم تحقيق تكامل سلس مع هذه المنصات، مما يسهل مصادقة هوية الموظفين. أظهر هذا التطبيق المبتكر القدرات القوية لإضافات APISIX، مما وفر لـ UPYUN حلًا فعالًا وموحدًا لمصادقة الهوية للوصول إلى منصة الإدارة.

التنسيق الذكي والحماية الأمنية

في سيناريوهات أكثر تحديدًا، استفادت UPYUN من إضافة openid-connect بالاشتراك مع إضافة serverless-post-function لتحقيق تنسيق ذكي مع تطبيق Feishu. من خلال العمل المشترك لهذه الإضافات، تم نقل معلومات المستخدم ذات الصلة، مثل اسم المستخدم أو البريد الإلكتروني أو المعرف الفريد داخل Lark، إلى الخدمة بعد المرور عبر بوابة الشبكة العامة. بمجرد حصول البوابة على معلومات المعرف ذات الصلة، تقوم بتوجيهها بكفاءة إلى الخادم، مما يتيح وظائف مثل إشعارات Lark والإشارات. من الجدير بالذكر أنه خلال هذه العملية، يمكن لإضافة consumer-restriction أيضًا فرض قيود أذونات محددة على المستخدمين، مما يعزز الأمان العام وقابلية التحكم في النظام.

وحدة تحكم الـ ingress

التحول في البنية الداخلية

بعد دمج وحدة تحكم Apache APISIX Ingress، يظهر الهيكل الداخلي لـ UPYUN الآن الهيكل التالي.

بنية_APISIX_الداخلية

على عكس إطار عمل Ingress-Nginx المذكور سابقًا، تم استبدال مستوى البيانات الأساسي بمجموعة Apache APISIX. تراقب وحدة التحكم العلوية التغييرات في API Server، ثم تقوم بنشر موارد التكوين عبر جميع عقد مجموعة Apache APISIX من خلال etcd.

مقارنة_APISIX

يظهر تمييز رئيسي في قدرة Apache APISIX على تعديل المسارات الديناميكية، مما يميزها عن تكوين Ingress-Nginx على اليمين. في Apache APISIX، تتلاقى جميع حركة الأعمال الواردة من خلال موقع موحد، مع تنفيذ اختيار المسار من خلال كود Lua. يؤدي هذا الكفاءة إلى نشر كود مبسط وسهل الإدارة. على العكس من ذلك، فإن ملف تكوين nginx.conf على اليمين لـ Ingress-Nginx معقد، ويتطلب عملية إعادة تحميل مع كل تعديل في الـ ingress.

التوجيه الديناميكي والتكوين التصريحي

بالاستفادة من قدرة التوجيه الديناميكي في Apache APISIX، قامت وحدة تحكم Apache APISIX Ingress بتنفيذ وظائفها بشكل فعال. يتمحور دورها الرئيسي حول مراقبة تغييرات الموارد داخل APIServer، وإجراء تحويلات دقيقة لهياكل البيانات، والتحقق، وحساب الاختلافات الحاسمة. الخطوة الأخيرة هي تطبيق هذه التغييرات على واجهة برمجة تطبيقات Apache APISIX Admin. أيضًا، تقدم وحدة تحكم Apache APISIX Ingress حلًا عالي التوفر مباشرة من خلال آلية انتخاب القائد في Kubernetes، مما يلغي الحاجة إلى مكونات خارجية.

فيما يتعلق بالتكوين التصريحي، اختارت UPYUN مورد CRD، الذي يتم تقديره لدلالاته القوية. تمكن هذه الطريقة المنظمة لتكوين البيانات من تنفيذ أي قدرة تدعمها Apache APISIX.

مورد_CRD

الإنجازات بعد استخدام APISIX

تحسين إدارة الحركة

عززت Apache APISIX بشكل كبير كفاءة UPYUN في التعامل مع الحركة. تضمن آليات النسخ الاحتياطي القوية والقدرات المتميزة في التعامل مع تحميل الحركة استقرار UPYUN، خاصة عند التعامل مع أحجام حركة كبيرة. من خلال التحكم الدقيق في الحركة، تعالج APISIX بشكل فعال التحديات المرتبطة بالنسخ الاحتياطي وإدارة الحركة، مما يوفر لـ UPYUN دعمًا تجاريًا موثوقًا ويحسن أداء النظام.

تبسيط التكامل والمصادقة

تتفوق APISIX في مصادقة الهوية وتكامل الإضافات. باستخدام إضافة openid-connect، تستوعب APISIX بفعالية طرق المصادقة المتنوعة، مما يوفر لـ UPYUN حلًا فعالًا لمصادقة الهوية. تسهل الوظائف المشتركة للإضافات مثل serverless-post-function وconsumer-restriction نقل البيانات الذكي والتحكم القوي في الوصول، مما يعزز بشكل كبير قدرات التكامل العامة للنظام.

تعزيز كفاءة معالجة السجلات

فيما يتعلق بمعالجة السجلات، قامت UPYUN بتنفيذ مجموعات متعددة من Apache APISIX داخليًا، مما يضمن استخدامًا موحدًا عبر بوابات مراكز البيانات وبوابات الحاويات. يؤسس هذا التماسك منطقًا موحدًا لمعالجة السجلات واستهلاكها اللاحق. من الجدير بالذكر أن Apache APISIX تتمتع بوظائف قوية لإضافة السجلات. داخليًا، اختارت UPYUN إضافة Kafka-Logger، وهي إضافة تدعم تنسيقات السجلات المخصصة.

سجلات_APISIX

تحسين المراقبة وفحوصات الصحة

فيما يتعلق بالمراقبة، تستخدم UPYUN أدوات مثل Prometheus وSkyWalking، مع تفضيل Prometheus. تعمل Apache APISIX كوسيط أساسي، حيث يمكنها مراقبة رموز حالة التطبيق والطلبات.

الخلاصة

كشركة رائدة في مجال خدمات السحابة CDN، قامت UPYUN بدمج Apache APISIX في بنيتها التحتية، خاصة في بوابة الشبكة العامة ووحدة تحكم الـ ingress. كان نظام الإضافات القوي وقدرات إدارة الحركة المتميزة في APISIX مهمين في تعزيز جودة وكفاءة التشغيل لـ UPYUN بشكل كبير.

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

Tags: