Apache APISIX تمكن WPS Office من التعامل مع ملايين الاستعلامات في الثانية بسهولة

Yilia Lin

Yilia Lin

September 28, 2021

Case Study

معاينة

حول Kingsoft وWPS Office

Kingsoft Office هي إحدى الشركات التابعة لـ Kingsoft، وهي شركة رائدة في مجال البرمجيات وخدمات الإنترنت مقرها الصين والمدرجة في بورصة هونغ كونغ. المنتج الرئيسي — WPS Office هو مجموعة مكتبية شاملة تتضمن Writer وSpreadsheet وPresentation وPDF لإدارة المهام المكتبية. بحلول عام 2022، وصل WPS Office إلى أكثر من 494 مليون مستخدم نشط شهريًا وأكثر من 1.2 مليار تثبيت.

في البداية، استخدمت Kingsoft NGINX كبوابة API لمواجهة التحديات التشغيلية. النسخة الأصلية كانت تحتوي فقط على وظائف أساسية مثل التوجيه الديناميكي upstream، وظيفة القائمة السوداء، وجدار حماية تطبيقات الويب (WAF). ومع ذلك، مع توسع المتطلبات، بدأت Kingsoft Office في استكشاف حلول بديلة لبوابة API يمكنها تلبية احتياجاتها المتطورة بشكل أفضل.

التحديات

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

النتائج

  • تم تنفيذ حل يوفر تحديثات ديناميكية عالية الأداء ومنخفضة الكمون، مما يتيح التخصيص والتمديد بسلاسة.
  • زيادة كبيرة في قدرة النظام على التعامل بسهولة مع ملايين الاستعلامات في الثانية (QPS)، مما يضمن استقرارًا ثابتًا للأعمال.
  • تم بنجاح إنشاء إجراءات عالية التوفر وتعزيز أمان النظام لحماية العمليات الحرجة.

الخلفية

في المراحل الأولى، استخدمت Kingsoft Office بوابة API لمعالجة المشكلات التشغيلية، وقامت بتطوير حل خاص بها يعتمد على OpenResty وLua. مكّن هذا الحل من ميزات إدارة التوجيه الديناميكي upstream، وظيفة القائمة السوداء، وجدار حماية تطبيقات الويب (WAF). ومع ذلك، كانت هناك بعض العيوب في المرحلة 1.0.

على سبيل المثال،

  • كان التوجيه upstream فقط ديناميكيًا
  • كان يتطلب إعادة التحميل لتحديث وعكس أسماء النطاقات الجديدة، مما يثقل كاهل الفريق لتغيير النطاقات والمسارات الجديدة يوميًا
  • كانت البنية التحتية مصممة للإدارة والتشغيل الفعال، وكانت بسيطة مع ميزات وقدرات توسع محدودة

في نفس الوقت، مع نمو أعمالها، واجهت Kingsoft عددًا متزايدًا من المتطلبات لوظائف بوابة API. نتيجة لذلك، بدأت في البحث عن حل جديد لبوابة API.

لماذا اختارت Kingsoft Office APISIX؟

في أواخر عام 2019، عندما بدأت Kingsoft Office في البحث عن منتجات بوابة API، كانت هناك العديد من الخيارات الشائعة. ومع ذلك، كشفت الاختبارات اللاحقة أن أداء بوابات API التي تم تقييمها لم يلبي متطلباتها.

سعياً وراء حل أكثر قوة، تعمقت Kingsoft Office في بحثها، وهنا اكتشفت Apache APISIX.

بعض بوابات API الأخرى اعتمدت على PostgreSQL كمركز للتكوين، مما يعني أن تحديث المسارات يمكن تحقيقه فقط من خلال طرق غير مدفوعة بالأحداث، مما يتطلب إعادة تحميل المسارات على كل عقدة.

اختارت Kingsoft Office APISIX بناءً على ثلاثة اعتبارات رئيسية: الأداء، البنية التقنية، والمجتمع.

البنية التقنية لـ APISIX

1. أداء فائق

يوفر Apache APISIX أفضل أداء بين بوابات API الأخرى مع QPS أحادي النواة يبلغ 18,000 مع متوسط تأخير 0.2 مللي ثانية. أكدت الاختبارات الدقيقة والمعايير داخل Kingsoft Office باستمرار تفوق أداء APISIX، مما يضمن أن Kingsoft Office يمكنها التعامل مع الأحمال العالية وتقديم تجارب مستخدم مثالية.

2. بنية قابلة للتوسع، مرنة، وعالية التوفر

APISIX، باستخدام etcd كمركز للتكوين، يسمح بإدارة فعالة وديناميكية للمسارات، الإضافات، والمكونات الحرجة الأخرى. عززت هذه المخزن الموزع للقيم الرئيسية مرونة APISIX، مما يتيح تحديثات سلسة ويقلل من العبء التشغيلي المرتبط بالتغييرات اليدوية في التكوين. مع Apache APISIX، يمكن لـ Kingsoft Office الاستفادة من النهج المدعوم بالأحداث، مما يلغي الحاجة إلى إعادة تحميل المسارات يدويًا على العقد الفردية.

3. مجتمع نشط وداعم

أدركت Kingsoft Office قيمة المجتمع النشط والداعم في دفع الابتكار وتوفير الموارد. تمتع APISIX بمجتمع نشط ومشارك ساهم في تطويره، وشارك أفضل الممارسات، وقدم المساعدة. عززت هذه البيئة المدعومة من المجتمع الابتكار والتعاون، مما يتوافق تمامًا مع التزام Kingsoft Office بالبقاء في طليعة التطورات التكنولوجية.

بنية etcd المحسنة في Kingsoft Office

بسبب العديد من تكوينات NGINX الثابتة في البنية الأصلية في Kingsoft Office، قرر الفريق عدم استخدام واجهة سطر الأوامر (CLI) لـ APISIX لتوليد التكوينات تلقائيًا. بدلاً من ذلك، استخدموا Apache APISIX كحل احتياطي وقاموا بالانتقال التدريجي للتكوينات إلى APISIX، مما يضمن انتقالًا سلسًا.

خلال التنفيذ، قام فريق Kingsoft Office ببعض التخصيصات بناءً على APISIX، مثل تحسين بنية etcd. بشكل عام، تتضمن بنية بوابة API داخل الشركات عدة آلات، أحيانًا تصل إلى المئات. علاوة على ذلك، يزيد عدد العمال من عبء الأحمال على الآلات.

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

لحل هذه المشكلة، طورت Kingsoft Office وكيل etcd، كما هو موضح في الجزء الأيمن من مخطط البنية أدناه. يعمل الوكيل بين Apache APISIX وetcd، حيث يراقب المفاتيح ويعيد النتائج إلى Apache APISIX بعد استلامها. منذ إصدار APISIX الإصدار 3.2، لم يعد عدد الاتصالات يتأثر بالموارد، مما يقلل بشكل كبير من الضغط على etcd.

بنية etcd المحسنة في Kingsoft Office

علاوة على ذلك، مع توسع الشركة، يزداد عدد المسارات أيضًا. عندما يتم تحديث المسارات بشكل متكرر، يزداد استخدام وحدة المعالجة المركزية وفقدان الحزم في البوابة. قام فريق Kingsoft Office بإصلاح مشكلة عدم كفاءة استخدام table.sort في بيئات كود Lua. كما قام Apache APISIX بمعالجة هذه المشكلة في إصداراته المحدثة.

الفوائد بعد اعتماد APISIX

1. دعم ملايين QPS بسهولة

على مستوى الأعمال، تدير Kingsoft Office نظامًا بيئيًا معقدًا يتألف من آلاف الخدمات التي تم حزمها بعناية ونشرها عبر منصة سحابية داخلية. في هذه البيئة الديناميكية، يلعب Apache APISIX دورًا محوريًا كبوابة مركزية، مما يسهل التواصل والتفاعل بين الخدمات المختلفة والمستخدمين. تم تصميم APISIX خصيصًا لتلبية متطلبات قسم المنصة الوسطى، حيث يدير بفعالية التدفق الهائل للطلبات، ويتعامل بسهولة مع ملايين الاستعلامات في الثانية بدقة وموثوقية ملحوظة.

2. تحقيق إدارة API قابلة للتوسع ومرنة

من خلال اعتماد APISIX، تجاوزت Kingsoft Office قيود حلول إدارة API السابقة، وحققت قابلية التوسع والمرونة التي وضعت الأساس للنمو والابتكار المستقبلي.

من خلال الانتقال إلى APISIX، اكتسبت Kingsoft Office القدرة على توسيع بنيتها التحتية لـ API بسهولة لتلبية متطلبات قاعدة المستخدمين المتوسعة بسرعة والمشهد التجاري المتطور. سمحت البنية المعيارية لـ APISIX بالتكامل السلس مع الأنظمة والخدمات الحالية، مما مكّن الشركة من توسيع قدرات إدارة API دون تعطيل العمليات الجارية.

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

3. تحسين التوفر العالي وأمان النظام

علاوة على ذلك، قامت Kingsoft Office بتنفيذ عدة ميزات لتعزيز التوفر العالي وأمان النظام، بما في ذلك توزيع حركة المرور بشكل متناسب عبر مراكز بيانات متعددة وقدرة حظر المسارات بنقرة واحدة.

من خلال تكوين النسب، يتم تحسين توزيع حركة المرور أو الطلبات عبر مراكز بيانات مختلفة بناءً على نسب محددة مسبقًا. يضمن ذلك الاستخدام الفعال لموارد النظام ويخفف من تأثير الأعطال في مركز بيانات واحد، مما يؤدي إلى تحقيق توازن الأحمال، وتحسين توفر النظام، وزيادة تحمل الأعطال.

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

الخلاصة

خلال التطبيق العملي، اكتشف فريق Kingsoft Office المرونة والقوة الاستثنائية لـ Apache APISIX. لقد اكتسبت استقرار وموثوقية APISIX ثقة Kingsoft Office، بينما توفر قدرتها على استيعاب تعديلات الإضافات والتجميع المخصص مساحة كبيرة للتخصيص.

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

Tags: