העברת תנועה

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

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

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

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

העברה הדרגתית של תנועת הגולשים

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

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

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

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

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

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

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

בכל סביבות זמן הריצה, למעט Java, כדי למנוע השהיה ולאפשר בקשות חימום, צריך לכלול את הרכיב 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. פרטים נוספים זמינים במאמר העברה ופיצול של תנועה.