העברת תנועה

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

מידע על פיצול תנועה בין שתי גרסאות או יותר של האפליקציה זמין במאמר פיצול תנועה.

לפני שמתחילים

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

העברת תנועה באופן הדרגתי

אפשר להפנות את הבקשות לגרסת היעד באופן הדרגתי או מיידי.

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

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

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

הוספת בקשות warmup לאפליקציה

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

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

בכל סביבות זמן הריצה, למעט Java, כדי למנוע השהיה ולאפשר בקשות warmup, צריך לכלול את הרכיב inbound_services בקובץ התצורה לפני שמבצעים פריסה של האפליקציה ב-App Engine.

לדוגמה, אתם כוללים את השורה הבאה בקובץ app.yaml לפני הפריסה ב-App Engine:

inbound_services:
- warmup

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

העברת תנועה לגרסה חדשה

המסוף

כדי להעביר תנועה במסוף Google Cloud , נכנסים לדף Versions:

כניסה לדף Versions

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

gcloud

אחרי שמתקינים את Google Cloud CLI, מריצים את הפקודה gcloud app services set-traffic כדי להעביר 100% מהתנועה לגרסה אחת. לדוגמה:

  • כדי להעביר את התנועה באופן מיידי:
    gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1
  • כדי להעביר את הטראפיק בהדרגה, מוסיפים את הדגל האופציונלי --migrate:
    gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1 --migrate

API

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