إعادة تشغيل أجهزة التوجيه ومعالجات الرسائل بدون التأثير على حركة المرور

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X.
info

يوضّح هذا المستند كيفية إعادة تشغيل أجهزة التوجيه ومعالجات الرسائل (MPs) بدون التأثير في زيارات واجهة برمجة التطبيقات الواردة. قد تحتاج إلى إعادة تشغيل أجهزة التوجيه ومعالجات الرسائل في ظروف معيّنة. في ما يلي بعض الأمثلة:

  • عند تعديل مخزن مفاتيح يُشار إليه مباشرةً في المضيف الظاهري أو خادم الوجهة أو نقطة نهاية الوجهة بدون استخدام المراجع
  • عند نشر خوادم وكيلة لواجهة برمجة التطبيقات جزئيًا على بعض معالجات الرسائل

قبل البدء

إذا لم تكن على دراية بأجهزة التوجيه ومعالجات الرسائل، يُرجى قراءة نظرة عامة على Edge for Private Cloud.

إعادة التشغيل التدريجية لأجهزة التوجيه بدون التأثير في الزيارات

يوضّح هذا القسم الخطوات المستخدَمة لإعادة تشغيل أجهزة التوجيه بدون التأثير في زيارات واجهة برمجة التطبيقات الواردة.

  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

إعادة التشغيل التدريجية لمعالجات الرسائل بدون التأثير في الزيارات

يوضّح هذا القسم الخطوات المستخدَمة لإعادة تشغيل معالجات الرسائل (MPs) بدون التأثير في زيارات واجهة برمجة التطبيقات الواردة.

  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 Message Processor على النحو التالي:
    apigee-service edge-message-processor stop
        
  7. ابدأ خدمة Apigee Message Processor على النحو التالي:
    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.