Antipattern: ترك خوادم NodeJS API الوكيلة غير المستخدمة

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

تتمثل إحدى الميزات الفريدة والمفيدة في Apigee Edge في القدرة على وضع تطبيق NodeJS في خادم وكيل لواجهة برمجة التطبيقات. يتيح ذلك للمطوّرين إنشاء تطبيقات تستند إلى الأحداث من جهة الخادم باستخدام Edge.

مضادة للأنماط

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

في حالة الأجهزة الوكيلة لواجهة برمجة تطبيقات NodeJS، هناك تأثير آخر.

يُطلق على النظام الأساسي "تطبيق Node" لكل خادم وكيل لواجهة برمجة تطبيقات NodeJS تم نشره. يشبه تطبيق العقدة مثيل خادم العقدة المستقل في عملية JVM لمعالج الرسائل.

مع كل خادم وكيل لـ NodeJS API تم نشره، يُطلق Edge خادم عقدة لكل خادم لمعالجة الطلبات للخوادم الوكيلة المقابلة. إذا تم نشر نفس خادم NodeJS API في بيئات متعددة، يتم تشغيل تطبيق عقدة مقابل لكل بيئة. في الحالات التي يتوفر فيها الكثير من خوادم NodeJS API الوكيلة المنشورة وغير المستخدمة، يتم تشغيل تطبيقات عقدة متعددة. تُترجم خوادم NodeJS غير المستخدمة إلى تطبيقات عقدة غير نشطة تستهلك الذاكرة وتؤثر في أوقات بدء عملية التطبيق.

الخوادم الوكيلة المستخدمة الخوادم الوكيلة غير المستخدمة
# خادم وكيل # بيئات تم نشرها تم إطلاق # تطبيقات العقدة # خادم وكيل # بيئات تم نشرها تم إطلاق # تطبيق عُقد
10 dev, test, prod (3) 10×3=30 12 dev, test, prod (3) 12×3=36

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

التأثير

  • الاستخدام المرتفع للذاكرة والتأثير المتسلسل في قدرة التطبيق على معالجة المزيد من الطلبات
  • تأثير محتمل في الأداء على الخوادم الوكيلة لواجهة برمجة التطبيقات التي تخدم حركة الزيارات فعليًا

أفضل ممارسة

  • إلغاء نشر أي خوادم وكيلة لواجهة برمجة التطبيقات غير مستخدمة
  • استخدِم لوحة بيانات أداء الخادم الوكيل في "إحصاءات Google" لتحديد الخوادم الوكيلة التي لا تخدم الزيارات، وألغِ تفعيل الخوادم التي لا تحتاج إليها.

محتوى إضافي للقراءة