รีสตาร์ทเราเตอร์และผู้ประมวลผลข้อความโดยไม่ส่งผลกระทบต่อการรับส่งข้อมูล

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

เอกสารนี้อธิบายวิธีรีสตาร์ทเราเตอร์และเครื่องมือประมวลผลข้อความ (MP) โดยไม่ส่งผลต่อการรับส่งข้อมูล API ขาเข้า คุณอาจต้องรีสตาร์ทเราเตอร์และ MP ในบางกรณี ตัวอย่างมีดังต่อไปนี้

  • เมื่อคีย์สโตร์ที่มีการอ้างอิงโดยตรงในโฮสต์เสมือน ระบบจะอัปเดตเซิร์ฟเวอร์เป้าหมายหรือปลายทางเป้าหมายโดยไม่ใช้การอ้างอิง
  • เมื่อมีการทำให้พร็อกซี API ใช้งานได้บางส่วนใน MP จำนวน 2-3

ก่อนเริ่มต้น

หากคุณไม่คุ้นเคยกับเราเตอร์และเครื่องมือประมวลผลข้อความ โปรดอ่านภาพรวมของ Edge สำหรับ Private Cloud

การรีสตาร์ทเราเตอร์อย่างต่อเนื่องโดยไม่ส่งผลกระทบต่อการรับส่งข้อมูล

ส่วนนี้จะอธิบายขั้นตอนที่ใช้ในการรีสตาร์ทเราเตอร์โดยไม่ส่งผลกระทบต่อการรับส่งข้อมูล API ขาเข้า

  1. เข้าสู่ระบบเราเตอร์ที่ต้องรีสตาร์ท
  2. บล็อกพอร์ตการตรวจสอบประสิทธิภาพการทำงานบนเราเตอร์โดยใช้คำสั่งต่อไปนี้ ซึ่งจะช่วยให้มั่นใจว่าเราเตอร์มีสถานะไม่ดีและไม่มีการกำหนดเส้นทางการรับส่งข้อมูลไปยังเราเตอร์นี้
    sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
        
  3. รอ 2 นาทีเพื่อตรวจสอบว่าการรับส่งข้อมูลที่อยู่ระหว่างดำเนินการได้รับการจัดการอย่างราบรื่นก่อนรีสตาร์ทเราเตอร์ ซึ่งทําได้โดยเรียกใช้คำสั่ง sleep ดังนี้
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  4. หยุดบริการ Apigee Monit ดังนี้
    apigee-service apigee-monit stop
        
  5. หยุดบริการเราเตอร์ Apigee ดังนี้
    apigee-service edge-router stop
        
  6. เริ่มต้นบริการเราเตอร์ Apigee ดังนี้
    apigee-service edge-router start
        
  7. รอจนกว่าบริการเราเตอร์ Apigee จะเริ่มต้นและพร้อมจัดการการรับส่งข้อมูลขาเข้าโดยใช้คำสั่งต่อไปนี้
    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

การรีสตาร์ทตัวประมวลผลข้อความอย่างต่อเนื่องโดยไม่ส่งผลกระทบต่อการรับส่งข้อมูล

ส่วนนี้จะอธิบายขั้นตอนที่ใช้ในการรีสตาร์ท Message Processor (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. รอ 2 นาทีเพื่อตรวจสอบว่าการรับส่งข้อมูลที่อยู่ระหว่างดำเนินการได้รับการจัดการอย่างราบรื่นก่อน รีสตาร์ทตัวประมวลผลข้อความ ซึ่งทําได้โดยเรียกใช้คำสั่ง 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