Перезапуск маршрутизаторов и процессоров сообщений без влияния на трафик

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

В этом документе объясняется, как перезапустить маршрутизаторы и процессоры сообщений (MP), не влияя на входящий трафик API. При определенных обстоятельствах вам, возможно, придется перезапустить маршрутизаторы и MP. Вот некоторые примеры:

  • Когда хранилище ключей, на которое напрямую ссылается виртуальный хост, целевой сервер или целевая конечная точка, обновляется без использования ссылок.
  • Когда прокси API частично развернуты на нескольких МП.

Прежде чем начать

Если вы не знакомы с маршрутизаторами и процессорами сообщений, прочтите обзор Edge для частного облака .

Последовательный перезапуск маршрутизаторов без влияния на трафик

В этом разделе описаны шаги, необходимые для перезапуска маршрутизаторов без влияния на входящий трафик 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 не запустится и не будет готова обрабатывать входящий трафик, используя следующую команду:
    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.