עיצוב נגדי: השארת שרתי proxy של NodeJS API שאינם בשימוש

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

אחת התכונות הייחודיות והשימושיות של Apigee Edge היא היכולת לעטוף אפליקציית NodeJS ב-API Proxy. כך מפתחים יכולים ליצור אפליקציות בצד השרת שמבוססות על אירועים באמצעות Edge.

דוגמת עיצוב

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

במקרה של שרתי proxy של NodeJS API, יש השלכה נוספת.

הפלטפורמה מפעילה 'אפליקציית צומת' לכל שרת Proxy של NodeJS API שנפרס. אפליקציית צמתים דומה למכונה של שרת צמתים עצמאי בתהליך JVM של מעבד ההודעות.

למעשה, לכל שרת Proxy של NodeJS API שנפרס, Edge מפעיל כל שרת צמתים כדי לעבד בקשות לשרתי ה-proxy התואמים. אם אותו שרת Proxy של NodeJS API פרוס בכמה סביבות, מופעלת אפליקציית צומת תואמת לכל סביבה. במצבים שבהם יש הרבה שרתי proxy של NodeJS API שאינם בשימוש, מופעלים מספר אפליקציות צומת. שרתי proxy של NodeJS שאינם בשימוש מתורגמים לאפליקציות צמתים לא פעילות, שצורכות זיכרון ומשפיעות על זמני ההפעלה של תהליך האפליקציה.

שרתי proxy משומשים שרתי proxy שאינם בשימוש
# שרתי proxy # סביבות פרוסות # nonetapps הופעלו # שרתי proxy # סביבות פרוסות הופעלו # אפליקציות צמתים
10 dev, test, prod (3) 10x3=30 12 dev, test, prod (3) 12x3=36

באיור שלמעלה מוצגות 36 אפליקציות צומת שלא נמצאות בשימוש, שמשתמשות בזיכרון מערכת ומשפיעות לרעה על זמני ההפעלה של התהליך.

השפעה

  • שימוש גבוה בזיכרון והשפעה מדורגת על היכולת של האפליקציה לעבד בקשות נוספות
  • השפעה צפויה על הביצועים בשרתי proxy של ה-API שמציגים בפועל תנועה

שיטה מומלצת

  • ביטול הפריסה של שרתי proxy של API שאינם בשימוש
  • שימוש במרכז הבקרה לביצועים של שרת ה-proxy של Analytics כדי לקבוע אילו שרתי proxy לא מפנים תנועה, ולבטל את הפריסה של אלה שלא צריכים

קריאה נוספת