الممارسات المالية لتسهيل التحول إلى السحابة الأصلية باستخدام APISIX كبوابة API
Yonghui Lu
January 13, 2023
هذه المقالة مأخوذة من الخطاب الذي ألقاه يونغهوي لو، مدير بوابة API في شركة Essence Securities، في مؤتمر ApacheCon Asia 2022. شارك يونغهوي ممارسات شركة Essence Securities في استخدام بوابة API السحابية الأصلية المبنية على Apache APISIX.
نظرة عامة
التحديات
- كانت المكدس التقني الأصلي معقدًا، ويتكون من NGINX وSpring Cloud Gateway وأنظمة مطورة داخليًا.
- صعوبة في إدارة النظام بسبب عدم وجود مكدس تقني موحد.
- تكرار العمل وتكاليف عالية في مشاريع الأعمال المختلفة.
الأهداف
- سحابية الأصل وسهلة التكامل مع أنظمة الأعمال في Essence Securities.
- إدارة النشر والمراقبة والتنبيه.
- أداء عالي وقدرة على التوسع.
- تخصيص الوظائف والتكامل السريع مع الأنظمة.
- تمكين وظائف قوية ومتنوعة مثل إدارة حركة المرور، الأمان، تحويل البروتوكولات، التفويض، المصادقة، وغيرها.
النتائج
- تعزيز إدارة حركة المرور، وإدارة حركة المرور المفاجئة بأمان.
- تحسين كفاءة وسهولة البحث والتطوير.
- تعزيز التطوير السحابي الأصلي لشركة Essence Securities.
- تعزيز أمان البيانات وإدارة الصلاحيات من خلال إنشاء نطاقات مستقلة.
حول شركة Essence Securities
شركة Essence Securities Co., Ltd. (Essence Securities) هي واحدة من الشركات الرائدة في مجال الأوراق المالية في الصين. منذ تأسيسها في عام 2006، أصبحت Essence Securities واحدة من أفضل 15 شركة أوراق مالية في الصين مع سجل حافل بتقديم أعلى الخدمات للقطاعين الخاص والعام. لديها أربع شركات تابعة مستقلة وأكثر من 120 فرعًا تجاريًا في 25 مقاطعة رئيسية على مستوى البلاد.
تشمل أعمال Essence Securities الأساسية الوساطة في الأوراق المالية، الاستشارات الاستثمارية، الخدمات الاستشارية المالية المتعلقة بتجارة الأوراق المالية والاستثمار، الاكتتاب والرعاية في الأوراق المالية، الاستثمار في الأوراق المالية، وإدارة الأصول، بالإضافة إلى أعمال أخرى معتمدة من قبل هيئة تنظيم الأوراق المالية الصينية.
لماذا تم اختيار APISIX؟
منذ عام 2021، بدأت Essence Securities في نقل التطبيقات إلى السحابة وأجرت خطة لبوابة API. في عام 2022، بدأت في إنشاء بوابة API. بعد مقارنة دقيقة، اختارت Essence Securities Apache APISIX من بين مجموعة واسعة من حلول بوابات API لعدة مزايا حاسمة:
الأداء العالي
تتميز شركات الأوراق المالية بسمة نموذجية: ستكون هناك طفرات في حركة المرور خلال ساعات الذروة. Apache APISIX هي بوابة API ذات أعلى أداء مع QPS أحادي النواة يصل إلى 23,000، مع متوسط تأخير يبلغ 0.6 مللي ثانية فقط.
قال يونغهوي: "نحتاج إلى أن تتحمل بوابة API حركة المرور المفاجئة، ولن تكون العائق التالي. بعد مقارنة بعض بوابات API المبنية على OpenResty أو بعض المكدسات التقنية الأخرى، برزت Apache APISIX بميزتها التنافسية في الأداء العالي ويمكنها تلبية متطلباتنا لبوابة API."
قابلية التوسع وملاءمة المطورين
يدعم APISIX مستخدميه بوظائف غنية. في Essence Securities، تُستخدم الحد من المعدل، قاطع الدائرة، التفويض والمصادقة، والإصدار التدريجي على نطاق واسع.
لهذا، طورت Essence Securities بعض الإضافات لتلبية الاحتياجات الداخلية لمجموعات الأعمال. يدعم APISIX رسميًا العديد من لغات البرمجة، بما في ذلك Java، Golang، Python، وLua. بالتماشي مع المجتمع، اختارت Essence Securities Lua. ونتيجة لذلك، كانت عملية التطوير بأكملها سلسة للغاية. ستقوم Essence Securities أيضًا بالنظر في المساهمة بإضافاتها المطورة داخليًا إلى المجتمع.
سيناريوهات الأجهزة الافتراضية والحاويات
حاليًا، يعتبر نقل التطبيقات إلى السحابة استراتيجية حاسمة لشركة Essence Securities. ومع ذلك، هناك العديد من السيناريوهات التي يتم نشرها على الأجهزة الافتراضية.
قال يونغهوي: "نحتاج إلى مراعاة توافق هذه التطبيقات ذات الحالتين عند اختيار بوابة API، على الرغم من أن خطتنا تركز أكثر على الحاويات. يوفر APISIX دعمًا كبيرًا في توافق السيناريوهات."
مسار التطوير السحابي الأصلي
Apache APISIX رائعة في دعم السيناريوهات السحابية الأصلية، بينما تحافظ Essence Securities على وتيرة التوجه السحابي. باستخدام APISIX، وAPISIX Ingress Controller، وService Mesh، تتطلع Essence Securities أيضًا إلى التطورات الجديدة في APISIX.
المجتمع النشط
كمشروع مفتوح المصدر، يتمتع APISIX بمجتمع نشط community. يمكن مناقشة المشكلات وحلها في الوقت المناسب. في عام 2022، تم تنظيم ما يقرب من 40 حدثًا مجتمعيًا لـ APISIX سواء شخصيًا أو عبر الإنترنت. يشعر الأشخاص المطلعون على APISIX بالحماس تجاه هذه الأنشطة.
كيف تستفيد Essence Securities من استخدام APISIX؟
فيما يلي بنية الخدمات المصغرة لشركة Essence Securities، والتي تُشاهد بشكل شائع في السيناريوهات السحابية الأصلية.
-
الصلاحيات والمصادقة: قبل استخدام APISIX، كانت الصلاحيات والمصادقة تُدار بواسطة خدمات مصغرة متعددة، مما أدى إلى الكثير من الأعمال المتكررة في التطوير.
-
إدارة حركة المرور: حققت Essence Securities إدارة حركة المرور من خلال التكامل مع APISIX، ومن بين السيناريوهات الأكثر شيوعًا الحد من المعدل والإصدار التدريجي. قبل استخدام APISIX، كانت هذه الوظائف تُنفذ بواسطة NGINX، مما يتطلب تعديل ملفات conf وإعادة تشغيل العقد. بالمقابل، توفر لوحة تحكم APISIX المرئية dashboard وميزة إعادة التحميل الساخن راحة كبيرة لإدارة حركة المرور في Essence Securities.
-
الإصدار التدريجي: APISIX مرنة في الإصدار التدريجي، والذي يمكن تحقيقه عن طريق الجزء وخصائص حركة المرور، بما في ذلك رأس الطلب، معلمات الطلب، الكوكيز، وغيرها. على سبيل المثال، تحتاج Essence Securities إلى توجيه حركة مرور المستخدمين إلى خوادم الإصدار التدريجي حسب معرف المستخدم.
-
القدرة على المراقبة: قبل ذلك، كانت Essence Securities بحاجة إلى تحقيق إدارة قابلة للمراقبة من خلال المقاييس، التتبع، والسجلات. كان من الصعب تحقيق الحوكمة متعددة الأبعاد. ومع ذلك، فقط بتمكين ثلاث إضافات مع تكوينات بسيطة يمكن تحقيق نفس التأثير بعد استخدام APISIX. يا له من تقدم ملحوظ!
الابتكارات المبنية على APISIX
تسجيل الدخول الموحد CAS
تستخدم Essence Securities CAS (خدمة المصادقة المركزية) كطريقة مصادقة قياسية، وهي مناسبة لوضع المصادقة على البوابة.
قامت Essence Securities بتوسيع APISIX وإضافة وظيفة جديدة، وهي تسجيل الدخول الموحد CAS. هناك عدة مزايا للقيام بذلك.
وضع CAS على طبقة البوابة يسمح بالوصول إلى CAS وإدخال وظائفه بسهولة. على سبيل المثال، توجد خدمات مصادقة موحدة لجلب معلومات المستخدمين.
علاوة على ذلك، يضع CAS معلومات المستخدم في رأس الطلب ويحملها إلى الخدمة العلوية لحفظ حالة تسجيل دخول المستخدمين. وبالتالي، ليس من الضروري تسجيل الدخول إلى أنظمة أخرى بشكل متكرر، مما يوفر الكثير من وقت المستخدمين ويحسن الراحة.
إضافة authz - casbin للمصادقة
إضافة APISIX authz-casbin
للمصادقة هي إضافة تفويض مبنية على Lua Casbin. تدعم هذه الإضافة سيناريوهات تفويض قوية بناءً على نموذج RBAC (التحكم في الوصول القائم على الأدوار).
تدعم تخزين ملفات CSV، تكوين إضافة APISIX، وتخزين السياسات من خلال تكوين البيانات الوصفية.
فيما يلي مثال.
في Essence Securities، هناك مفهوم مهم: النطاق. سيكون للمستخدمين صلاحيات مختلفة في نطاقات مختلفة. على سبيل المثال، الموظف A هو مدير في النطاق A ولكن قد يكون فقط مشاهدًا في النطاق B.
عند تعريف الطلبات، السياسات، والأدوار، يجب الإشارة إلى النطاق. لذلك، قامت Essence Securities بتعديل casbin لتتناسب مع هذا السيناريو. تعتمد الإضافة على مستودع Lua، الذي يدعم RBAC مع النطاقات. وبالتالي، يمكن تلبية المتطلبات المذكورة أعلاه فقط عن طريق استدعاء الواجهة المقابلة لمستودع Lua، وهو أمر سهل للغاية. يمكن لهذه الطريقة تعزيز أمان البيانات وإدارة الصلاحيات بشكل كبير.
القدرة على المراقبة
يوفر APISIX مراقبة متعددة الأبعاد مثل المقاييس، التتبع، وجمع السجلات. يمكن تحقيق كل هذه الوظائف من خلال تكوينات بسيطة.
بعد تمكين إضافة Prometheus، يمكن مراقبة مقاييس مثل تأخير الطلب، عرض النطاق الترددي، ومعدل نقل رمز حالة HTTP. يمكن أن تكون هذه مفيدة في استكشاف الأخطاء وإصلاحها.
بالنسبة لـ تحليل التتبع، عندما يتصل الخدمة العلوية بـ Skywalking، يمكن تتبع مسار الاستدعاء الكامل بمجرد تمكين Skywalking.
تخطط Essence Securities لاستخراج المزيد من القيمة من جمع السجلات. دفع سجلات الوصول إلى kafka يمكن أن يساعد Essence Securities في تحليل وإحصاء البيانات.
الخطة المستقبلية
تعدد المستأجرين
سابقًا، كانت أنظمة Essence Securities تحتوي على مجموعات مستقلة لتقليل مخاطر الأخطاء وفصل معلومات المستخدمين. يستخدم Apache APISIX etcd كمركز تكوين، وهو مناسب للمرحلة الحالية.
المجموعات المشتركة مفيدة في إدارة الموارد الموحدة وتحسين كفاءة التشغيل والصيانة. ستقوم Essence Securities بدمج المجموعات المستقلة مع تعدد المستأجرين لتعزيز قدراتها الإدارية.
سوق التطبيقات
ستوفر Essence Securities العديد من الخدمات المصغرة كمنتجات للمستخدمين، مثل منصات التسجيل، المراقبة، التنبيه، ومركز البيانات، والتي يمكن إدارتها بشكل مركزي بواسطة APISIX.
بعد إدخال طبقة البوابة، تمت إضافة العديد من حوكمة بوابة API، مثل المصادقة، التفويض، وإدارة حركة المرور.
مراقبة البيانات القابلة للمراقبة
يمكن لإضافة kafka-logger في APISIX مساعدة Essence Securities في دفع سجل وصول البوابة إلى kafka. يمكن لـ kafka تنظيف، تنسيق، وإحصاء المعلومات ثم الحصول على إحصائيات أكثر قيمة، مثل أعلى N من الاستدعاءات، الطلبات غير الطبيعية، وتأخيرات الطلبات.
قال يونغهوي: "أو يمكننا الحصول على توزيع رمز الحالة، توزيع IP العميل، إحصائيات حركة المرور، توزيع ساعات الذروة، اكتشاف حركة المرور غير الطبيعية، إلخ. هذا الجزء له أهمية كبيرة في توسيع القدرات القابلة للمراقبة لنظامنا."
تتطلع Essence Securities أيضًا إلى المزيد من التعاون مع APISIX Ingress Controller وService Mesh.
هل تبحث عن دعم APISIX؟
Apache APISIX هي بوابة API سحابية الأصل مفتوحة المصدر، ديناميكية، قابلة للتوسع، وعالية الأداء لجميع واجهات برمجة التطبيقات والخدمات المصغرة الخاصة بك. بعد التبرع بها إلى مؤسسة Apache Software Foundation من قبل API7.ai، نمت APISIX لتصبح مشروعًا مفتوح المصدر من الدرجة الأولى.
هل ترغب في تسريع تطويرك بثقة مثل Essence Securities؟ لتحقيق أقصى استفادة من دعم APISIX، تحتاج إلى API7. نقدم دعمًا متعمقًا لـ APISIX وحلول إدارة واجهات برمجة التطبيقات بناءً على احتياجاتك!
اتصل بنا الآن: https://api7.ai/contact.