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

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

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

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

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

تجمع تحليلات واجهة برمجة التطبيقات عدة أنواع مختلفة من البيانات مثل:

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

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

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

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

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

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

لا يُنصح بإضافة الأعمدة و/أو الجداول و/أو طرق العرض المخصّصة إلى أي من المخططات التي تمتلكها Apigee في قاعدة بيانات Postgres على بيئات Cloud الخاصة مباشرةً باستخدام طلبات بحث 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.

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