הפעלה מחדש של נתבים ומעבדי הודעות ללא השפעה על התנועה

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

במסמך הזה מוסבר איך להפעיל מחדש נתבים ומעבדי הודעות (MPs) בלי להשפיע על תנועת ה-API הנכנסת. בנסיבות מסוימות, יכול להיות שתצטרכו להפעיל מחדש את הנתבים ואת ה-MP. הנה כמה דוגמאות:

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

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

אם אתם לא מכירים את הרכיבים Routers ו-Message Processors, כדאי לקרוא את סקירת Edge for Private Cloud.

הפעלה מחדש של נתבים ללא השפעה על התנועה

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

  1. מתחברים לנתב שצריך להפעיל מחדש.
  2. חוסמים את יציאת בדיקת התקינות בנתב באמצעות הפקודה הבאה. כך מוודאים שהנתב ייחשב כלא תקין ושלא תהיה תנועה שתנותב לנתב הזה.
    sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
        
  3. ממתינים שתי דקות כדי לוודא שכל התנועה הפעילה מטופלת בצורה חלקה לפני שמפעילים מחדש את הנתב. כדי לעשות את זה, מריצים את הפקודה sleep באופן הבא:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  4. כדי להפסיק את שירות Apigee Monit:
    apigee-service apigee-monit stop
        
  5. מפסיקים את שירות Apigee Router באופן הבא:
    apigee-service edge-router stop
        
  6. מפעילים את שירות Apigee Router באופן הבא:
    apigee-service edge-router start
        
  7. מחכים עד ששירות Apigee Router יופעל ויהיה מוכן לטפל בתנועה הנכנסת באמצעות הפקודה הבאה:
    apigee-service edge-router wait_for_ready
        
  8. מפעילים את שירות Apigee Monit באופן הבא:
    apigee-service apigee-monit start
        
  9. מריצים את הפקודות הבאות כדי לנקות את טבלאות ה-IP, לבטל את החסימה של יציאת בדיקת תקינות 15999 ולאפשר לנתב לטפל שוב בתעבורה:
    sudo iptables -F
    sudo iptables -L
        
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
for i in {001..120}; do sleep 1; printf "\r ${i}"; done
apigee-service apigee-monit stop
apigee-service edge-router stop
apigee-service edge-router start
apigee-service edge-router wait_for_ready
apigee-service apigee-monit start
sudo iptables -F
sudo iptables -L

הפעלה מחדש הדרגתית של מעבדי הודעות בלי להשפיע על התנועה

בקטע הזה מתוארים השלבים שמשמשים להפעלה מחדש של מעבדי הודעות (MP) בלי להשפיע על תנועת ה-API הנכנסת.

  1. מתחברים למעבד ההודעות שצריך להפעיל מחדש.
  2. מזהים את יציאת בדיקת תקינות של מעבד ההודעות באמצעות הפקודה הבאה:
    curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
        
  3. חוסמים את יציאת בדיקת התקינות (שמצוינת בשלב 2) במעבד ההודעות. כך מוודאים שמעבד הבקשות ייחשב כלא תקין ושלא תנותב תעבורת נתונים למעבד הבקשות הזה.
    sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
        

    port # הוא מספר היציאה שמוחזר מהפקודה שבוצעה בשלב 2.

  4. צריך להמתין שתי דקות כדי לוודא שהתנועה בשרת מטופלת בצורה חלקה לפני שמפעילים מחדש את מעבד ההודעות. כדי לעשות את זה, מריצים את הפקודה sleep באופן הבא:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  5. כדי להפסיק את שירות Apigee Monit:
    apigee-service apigee-monit stop
        
  6. מפסיקים את שירות מעבד ההודעות של Apigee באופן הבא:
    apigee-service edge-message-processor stop
        
  7. מפעילים את שירות Apigee מעבד בקשות באופן הבא:
    apigee-service edge-message-processor start
        
  8. מחכים עד שהשירות Apigee Message Processor יופעל ויהיה מוכן לטפל בתנועה הנכנסת באמצעות הפקודה הבאה:
    apigee-service edge-message-processor wait_for_ready
        
  9. מפעילים את שירות Apigee Monit באופן הבא:
    apigee-service apigee-monit start
        
  10. מריצים את הפקודות הבאות כדי לנקות את טבלאות ה-IP, לבטל את החסימה של יציאת בדיקת תקינות ולאפשר לעיבוד ההודעות לטפל בתנועה שוב:
    sudo iptables -F
    sudo iptables -L
        
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'

sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
for i in {001..120}; do sleep 1; printf "\r ${i}"; done
apigee-service apigee-monit stop
apigee-service edge-message-processor stop
apigee-service edge-message-processor start
apigee-service edge-message-processor wait_for_ready
apigee-service apigee-monit start
sudo iptables -F
sudo iptables -L

port # הוא מספר היציאה שמוחזר מהפקודה שבוצעה בשלב 2.