היסודות של כלי ההגדרה של זמן הריצה

במסמך הזה מפורטת סקירה כללית על התכונה Runtime Configurator ומוסברים המושגים המרכזיים שקשורים אליה. כדי ללמוד איך ליצור משאב RuntimeConfig, אפשר לקרוא את המאמר יצירה ומחיקה של משאבי RuntimeConfig.

מהו הכלי Runtime Configurator?

התכונה Runtime Configurator מאפשרת להגדיר ולאחסן נתונים כהיררכיה של צמדי מפתח-ערך ב-Google Cloud Platform. אתם יכולים להשתמש בצמדי המפתח/ערך האלה כדי:

  • הגדרת שירותים באופן דינמי
  • העברת מידע על מצבי שירות
  • שליחת התראה על שינויים בנתונים
  • שיתוף מידע בין רמות שונות של שירותים

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

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

משתמשים ב-Runtime Configurator באמצעות gcloud CLI או כ-API עצמאי.

מושגים

  • משאב הגדרה

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

  • משתנים

    משתנים הם צמדי מפתח/ערך ששייכים למשאב RuntimeConfig. מפתחות המשתנים הם בפורמט הבא:

    projects/[project_id]/configs/[CONFIG_ID]/variables/[VARIABLE_NAME]
    

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

    webserver-1/users/name
    webserver-1/users/favorite_color
    
  • משתמשים ברשימת הצפייה

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

  • מלצרים

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

    לדוגמה, אם מגדירים תנאי לנתיב /foo ומספר הנתיבים הוא 2, ההגדרה הבאה תעמוד בתנאי:

    • /foo/variable1 = "value1"
    • /foo/variable2 = "value2"
    • /bar/variable3 = "value3" # Not /foo path

    לרכיב Waiter יש תנאי הצלחה ותנאי כישלון שאפשר להגדיר.

    אחרי שיוצרים אובייקט Waiter, השירות מחזיר אובייקט פעולה שבודקים לגביו אם הוא הושלם. הפעולה תושלם כשאחד מהמקרים הבאים יקרה:

    • התנאי success מתקיים.
    • התנאי failure מתקיים.
    • הפעולה של Waiter הגיעה לזמן הקצוב לתפוגה שצוין בבקשה הראשונית.

    שימוש ב-waiter מתאים במיוחד לתרחישי הפעלה, שבהם יכול להיות שתצטרכו להשהות פריסה עד שמספר מסוים של שירותים יפעל.

המאמרים הבאים