Antipattern: إضافة معلومات مخصصة إلى مخطط تملكه Apigee في قاعدة بيانات Postgres

أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

Edge API Analytics هي ميزة مدمَجة فعّالة جدًا تقدّمها Apigee Edge. وهي تجمع ويتكامل تحليل مجموعة واسعة من البيانات التي تتدفق عبر واجهات برمجة التطبيقات. يمكن أن تقدّم بيانات الإحصاءات التي يتم تسجيلها إحصاءات مفيدة جدًا. على سبيل المثال، كيف يتغيّر عدد زيارات واجهة برمجة التطبيقات على مدار فترة زمنية معيّنة؟ ما هي واجهة برمجة التطبيقات الأكثر استخدامًا؟ ما هي واجهات برمجة التطبيقات التي تسجّل معدّلات خطأ عالية؟

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

بيانات "إحصاءات Google" وتخزينها

تُسجِّل ميزة "إحصاءات واجهة برمجة التطبيقات" العديد من أنواع البيانات المختلفة، مثل:

  • معلومات عن واجهة برمجة التطبيقات، مثل عنوان URI للطلب وعنوان IP للعميل ورموز حالة الردّ وما إلى ذلك
  • أداء الوكيل لواجهة برمجة التطبيقات: معدّل النجاح/الإخفاق، ووقت معالجة الطلب والاستجابة، وما إلى ذلك
  • أداء الخادم المستهدَف: معدّل النجاح/التعطُّل، ووقت المعالجة
  • معلومات الخطأ: عدد الأخطاء ورمز الخطأ والسياسة التي أدّت إلى حدوث الخطأ وعدد أخطاء خادم Apigee وTarget
  • معلومات أخرى: عدد الطلبات التي قدّمها المطوّرون وتطبيقات المطوّرين وما إلى ذلك

يتم تخزين كل هذه البيانات في analytics مخطّط تم إنشاؤه وإدارته ضمن قاعدة بيانات Postgres من خلال Apigee Edge.

في العادة، في عملية تثبيت Edge العادية، سيحتوي Postgres على المخططات التالية:

يستخدم Edge المخطّط الذي يحمل الاسم analytics لتخزين جميع بيانات الإحصاءات لكل من المؤسّسة والبيئة. إذا تم تثبيت ميزة تحقيق الربح، سيظهر مخطّط rkms. المخطّطات الأخرى مخصّصة للعناصر الداخلية في Postgres.

سيستمر تغيير مخطّط analytics لأنّ Apigee Edge ستضيف إليه ديناميكيًا جداول حقائق جديدة أثناء التشغيل. سيجمِّع مكوّن خادم Postgres بيانات الحقائق في جداول aggrup يتم تحميلها وعرضها على واجهة مستخدم Edge.

نموذج سلبي

لا يُنصح بإضافة أعمدة و/أو جداول و/أو جداول عرض مخصّصة إلى أيّ من المخطّطات التي تملكها Apigee في قاعدة بيانات Postgres على بيئات "سحابة خاصة" مباشرةً باستخدام طلبات بحث SQL، لأنّ ذلك يمكن أن يؤدي إلى عواقب سلبية.

لنوضّح ذلك بالتفصيل من خلال مثال.

لنفترض أنّه تم إنشاء جدول مخصّص باسم account ضمن مخطّط الإحصاءات كما هو موضح أدناه:

بعد فترة، لنفترض أنّه يجب ترقية Apigee Edge من إصدار أقدم إلى إصدار أحدث. تتضمن ترقية Private Cloud Apigee Edge ترقية Postgres من بين العديد من المكونات الأخرى. إذا كانت هناك أي أعمدة أو جداول أو طرق عرض مخصّصة تمت إضافتها إلى قاعدة بيانات Postgres، سيتعذّر ترقية Postgres مع ظهور أخطاء تشير إلى العناصر المخصّصة لأنّه لم يتم إنشاؤها من قِبل Apigee Edge. وبالتالي، تَتعذّر أيضًا ترقية Apigee Edge ولا يمكن إكمالها.

وبالمثل، يمكن أن تحدث أخطاء أثناء أنشطة صيانة Apigee Edge التي يتم فيها إجراء عملية الاحتفاظ بنسخة احتياطية من مكوّنات Edge، بما في ذلك قاعدة بيانات Postgres، واستعادتها.

التأثير

  • لا يمكن إكمال ترقية Apigee Edge لأنّ ترقية مكوّن Postgres تنتهي بالفشل مع حدوث أخطاء تشير إلى عناصر مخصّصة لم يتم إنشاؤها بواسطة Apigee Edge.
  • عدم الاتساق (والتعذّر) أثناء إجراء صيانة خدمة Apigee Analytics (الاحتفاظ بنسخة احتياطية/استعادتها)

أفضل الممارسات

  • لا تُضِف أي معلومات مخصّصة في شكل أعمدة وجداول وعروض ودوال و إجراءات مباشرةً إلى أيّ من المخطّطات التي تملكها Apigee، مثل analytics وما إلى ذلك.
  • إذا كانت هناك حاجة إلى توفير معلومات مخصّصة، يمكن إضافتها كأعمدة (حقول) باستخدام إحدى سياسات "مجمع الإحصاءات" إلى مخطّط analytics.

مراجع إضافية