Yönlendiricileri ve Mesaj İşlemcilerini trafik etkisi olmadan yeniden başlatma

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Bu dokümanda, yönlendiricilerin ve İleti İşlemcilerinin (MP) herhangi bir sorun yaşamadan nasıl gelen API trafiği. Belirli koşullar altında Yönlendiricileri ve MP'leri yeniden başlatmanız gerekebilir. Aşağıda bazı örnekler verilmiştir:

  • Sanal ana makinede, hedef sunucuda veya hedefte doğrudan referans verilen bir anahtar deposu olduğunda uç nokta, referanslar kullanılmadan güncellenir.
  • API proxy'leri birkaç MP'de kısmen dağıtıldığında.

Başlamadan önce

Yönlendiriciler ve Mesaj İşlemcileri hakkında bilginiz yoksa, Edge for Private Cloud'a genel bakış.

Trafiği etkilemeden Yönlendiricilerin periyodik yeniden başlatması

Bu bölümde, gelen API trafiğini etkilemeden Yönlendiricileri yeniden başlatmak için kullanılan adımlar açıklanmaktadır.

  1. Yeniden başlatılması gereken Yönlendirici'ye giriş yapın.
  2. Aşağıdaki komutu kullanarak Yönlendirici üzerindeki durum denetimi bağlantı noktasını engelleyin. Böylece proje daha Yönlendiricinin durumu kötü olarak değerlendirilir ve bu Yönlendirici'ye trafik yönlendirilmez.
    sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
        
  3. Aracınızı kullanmaya başlamadan önce, uçuş esnasında trafiğin sorunsuz bir şekilde ele alındığından emin olmak için iki dakika bekleyin. yönlendiriciyi yeniden başlatın. Bu işlemi, sleep komutunu aşağıdaki şekilde çalıştırarak gerçekleştirebilirsiniz:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  4. Apigee Monit hizmetini aşağıdaki şekilde durdurun:
    apigee-service apigee-monit stop
        
  5. Apigee Yönlendirici hizmetini aşağıdaki şekilde durdurun:
    apigee-service edge-router stop
        
  6. Apigee Yönlendirici hizmetini aşağıdaki şekilde başlatın:
    apigee-service edge-router start
        
  7. Apigee Yönlendirici hizmeti başlatılana ve gelen trafiği işlemeye hazır olana kadar bekleyin. kullanabilirsiniz:
    apigee-service edge-router wait_for_ready
        
  8. Apigee Monit hizmetini aşağıdaki şekilde başlatın:
    apigee-service apigee-monit start
        
  9. Durum denetimi bağlantı noktası 15999'un engellemesini kaldırmak ve Yönlendirici'nin işlemesine izin vermek için IP tablolarını temizleyin trafiği tekrar ayarlamak için aşağıdaki komutları çalıştırın:
    sudo iptables -F
    sudo iptables -L
        
ziyaret edin.
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

Trafiğe etkisi olmadan mesaj işleyenlerin kademeli olarak yeniden başlatılması

Bu bölümde, aşağıdaki işlemler olmadan Mesaj İşlemciler'i (MP'ler) yeniden başlatmak için kullanılan adımlar açıklanmaktadır: ve gelen API trafiğini etkiliyor.

  1. Yeniden başlatılması gereken İleti İşleyici'ye giriş yapın.
  2. Aşağıdaki komutu kullanarak Mesaj İşleyici'nin durum denetimi bağlantı noktasını tanımlayın:
    curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
        
  3. İleti İşleyici'de durum denetimi bağlantı noktasını (2. adımda tanımlanır) engelleyin. Bu sayede İleti İşleyici'nin kötü durumda olduğunu ve Mesaj İşleyici.
    sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
        

    Burada port #, 2. adımda gerçekleştirilen komuttan döndürülen bağlantı noktası numarasıdır.

  4. Aracınızı kullanmaya başlamadan önce, uçuş esnasındaki trafiğin sorunsuz şekilde ele alındığından emin olmak için iki dakika bekleyin. İleti İşlemci'yi yeniden başlatın. Bu işlemi, sleep komutunu aşağıdaki şekilde çalıştırarak gerçekleştirebilirsiniz:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  5. Apigee Monit hizmetini aşağıdaki şekilde durdurun:
    apigee-service apigee-monit stop
        
  6. Apigee Mesaj İşleyici hizmetini aşağıdaki şekilde durdurun:
    apigee-service edge-message-processor stop
        
  7. Apigee Mesaj İşleyici hizmetini aşağıdaki şekilde sarın:
    apigee-service edge-message-processor start
        
  8. Apigee Mesaj İşleyici hizmetinin başlatılıp mesajı işlemeye hazır hale gelmesini bekleyin. aşağıdaki komutu kullanarak gelen trafiğe izin verin:
    apigee-service edge-message-processor wait_for_ready
        
  9. Apigee Monit hizmetini aşağıdaki şekilde başlatın:
    apigee-service apigee-monit start
        
  10. Durum denetimi bağlantı noktasının engellemesini kaldırmak ve Mesaj İşleyen'e izin vermek için IP tablolarını temizleyin aşağıdaki komutları çalıştırarak trafiği tekrar işleyin:
    sudo iptables -F
    sudo iptables -L
        
ziyaret edin.
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

Burada port #, 2. adımda gerçekleştirilen komuttan döndürülen bağlantı noktası numarasıdır.