עיצוב נגדי: הוספת מידע מותאם אישית לסכימה בבעלות Apigee במסד הנתונים של Postgres

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

‫Edge API Analytics היא תכונה מובנית ועוצמתית מאוד שמסופקת על ידי Apigee Edge. הוא אוסף ומנתח מגוון רחב של נתונים שזורמים דרך ממשקי API. הנתונים האנליטיים שנאספים יכולים לספק תובנות שימושיות מאוד. לדוגמה, איך נפח התנועה של ה-API משתנה לאורך זמן? מהו ה-API שהשימוש בו הכי נפוץ? באילו ממשקי API יש שיעורי שגיאות גבוהים?

אפשר להשתמש בניתוח קבוע של הנתונים והתובנות האלה כדי לבצע פעולות מתאימות, כמו תכנון קיבולת עתידי של ממשקי API על סמך השימוש הנוכחי, החלטות עסקיות והשקעות עתידיות ועוד.

נתוני Analytics והאחסון שלהם

‫API Analytics מתעד סוגים רבים ושונים של נתונים, כמו:

  • מידע על API – URI של בקשה, כתובת IP של לקוח, קודי סטטוס של תגובה וכו'
  • ביצועים של API Proxy – שיעור ההצלחה או הכשל, זמן העיבוד של הבקשה והתגובה וכו'
  • ביצועי שרת היעד – שיעור ההצלחה/הכישלון, זמן העיבוד
  • פרטי השגיאה – מספר השגיאות, קוד השגיאה, המדיניות שנכשלה, מספר השגיאות שנגרמו על ידי Apigee ושרת היעד.
  • מידע אחר – מספר הבקשות שנשלחו על ידי מפתחים, אפליקציות של מפתחים וכו'

כל הנתונים האלה מאוחסנים בanalytics סכימה שנוצרה ומנוהלת במסד נתונים של Postgres על ידי Apigee Edge.

בדרך כלל, בהתקנה רגילה של Edge, ל-Postgres יהיו הסכימות הבאות:

הסכימה שנקראת analytics משמשת את Edge לאחסון כל נתוני הניתוח של כל ארגון וסביבה. אם המונטיזציה מותקנת, יהיה סכימה של rkms. סכימות אחרות מיועדות לשימוש פנימי ב-Postgres.

analytics הסכימה תמשיך להשתנות כי Apigee Edge יוסיף לה באופן דינמי טבלאות עובדות חדשות בזמן הריצה. רכיב שרת Postgres יצבור את נתוני העובדות בטבלאות aggregate, שנטענות ומוצגות בממשק המשתמש של Edge.

תבנית אנטי

לא מומלץ להוסיף עמודות, טבלאות או תצוגות בהתאמה אישית לכל אחת מהסכימות שבבעלות Apigee במסד הנתונים של Postgres בסביבות Private Cloud ישירות באמצעות שאילתות SQL, כי זה עלול להוביל לתוצאות לא רצויות.

כדי להסביר את זה בפירוט, נשתמש בדוגמה.

נניח שיצרתם טבלה מותאמת אישית בשם account בסכימת הניתוח, כמו שמוצג בהמשך:

אחרי זמן מה, נניח שיש צורך לשדרג את Apigee Edge מגרסה נמוכה לגרסה גבוהה יותר. שדרוג של Apigee Edge Private Cloud כולל שדרוג של Postgres בין הרבה רכיבים אחרים. אם יש עמודות, טבלאות או תצוגות מותאמות אישית שנוספו למסד הנתונים של Postgres, השדרוג של Postgres ייכשל עם שגיאות שמתייחסות לאובייקטים המותאמים אישית, כי הם לא נוצרו על ידי Apigee Edge. לכן, גם השדרוג של Apigee Edge נכשל ואי אפשר להשלים אותו.

באופן דומה, יכולות להתרחש שגיאות במהלך פעולות תחזוקה של Apigee Edge, שבהן מתבצע גיבוי ושחזור של רכיבי Edge, כולל מסד הנתונים של Postgres.

השפעה

  • אי אפשר להשלים את השדרוג של Apigee Edge כי השדרוג של רכיב Postgres נכשל עם שגיאות שמתייחסות לאובייקטים מותאמים אישית שלא נוצרו על ידי Apigee Edge.
  • חוסר עקביות (וכשלים) במהלך ביצוע תחזוקה בשירות Apigee Analytics (גיבוי/שחזור).

שיטה מומלצת

  • אל תוסיפו מידע בהתאמה אישית בצורה של עמודות, טבלאות, תצוגות, פונקציות ופרוצדורות ישירות לאף אחד מסכימות הנתונים שבבעלות Apigee, כמו analytics וכו'.
  • אם יש צורך לתמוך במידע בהתאמה אישית, אפשר להוסיף אותו כעמודות (שדות) באמצעות מדיניות של כלי לאיסוף נתונים סטטיסטיים לanalytics סכימה.

קריאה נוספת