Рекомендуется отключать доступность на сервере во время обслуживания, например при перезапуске или обновлении сервера. Если доступность отключена, трафик не направляется на сервер. Например, если доступность отключена в Message Processor, маршрутизаторы не будут направлять трафик в этот Message Processor.
Например, чтобы обновить Message Processor, выполните следующие действия:
- Отключите функцию доступности на Message Processor.
- Обновите обработчик сообщений.
- Включите функцию доступности на Message Processor.
Включение/отключение доступности на Message Processor
Чтобы отключить доступность на Message Processor, просто остановите Message Processor:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
Перед завершением работы Message Processor сначала обрабатывает все ожидающие сообщения. Новые запросы будут перенаправляться другим доступным процессорам сообщений.
Чтобы перезапустить Message Processor, используйте следующие команды:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor start
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_readyКоманда wait_for_ready возвращает следующее сообщение, когда обработчик сообщений готов к обработке:
Checking if message-processor is up: message-processor is up.
Как включить или отключить доступность на маршрутизаторе
В рабочей среде перед маршрутизаторами Edge обычно устанавливается балансировщик нагрузки. Балансировщики нагрузки отслеживают порт 15999 на маршрутизаторах, чтобы убедиться, что маршрут доступен.
Настройте балансировщик нагрузки для выполнения проверки состояния HTTP или TCP на маршрутизаторе с помощью следующего URL:
http://router_IP:15999/v1/servers/self/reachable
Если маршрутизатор доступен, этот URL возвращает код ответа HTTP 200.
Чтобы сделать маршрутизатор недоступным, заблокируйте порт 15999 на маршрутизаторе. Если балансировщик нагрузки не может получить доступ к маршрутизатору через порт 15999, он перестает пересылать запросы маршрутизатору. Например, вы можете заблокировать порт, используя следующую команду iptables на узле маршрутизатора:
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Чтобы сделать маршрутизатор доступным позже, очистите iptables:
sudo iptables -F
Вы можете использовать iptables для управления другими портами на узле, поэтому вам нужно учитывать это при сбросе iptables или использовании iptables для блокировки порта 15999. Если вы используете iptables для других правил, вы можете отменить определенное изменение с помощью параметра -D:
sudo iptables -D INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Как проверить состояние маршрутизатора
Для маршрутизаторов можно выполнять следующие типы проверок работоспособности:
- Liveness (Жизнеспособность). Сигнал для подсистемы мониторинга, указывающий, что компонент можно перезапустить. Пример:
To check a router's liveness: http://router_IP:8081/v1/servers/self/up To check a load balancer's liveness: http://router_IP:15999/v1/servers/self/reachable
- Готовность. Определяет, может ли маршрутизатор обрабатывать запросы клиентов для определенной среды.
Пример:
To check both a router and MP pool's availability: http://router_IP:15999/{org}__{env}Чтобы узнать статус маршрутизатора, отправьте запрос на порт 8081:
curl -v http://router_IP:8081/v1/servers/self/up
Если маршрутизатор работает, в ответе будет указано значение "true" и код статуса HTTP 200. Обратите внимание, что этот вызов проверяет только то, работает ли маршрутизатор. Управление доступностью маршрутизатора из балансировщика нагрузки определяется портом 15999.
Чтобы узнать статус обработчика сообщений:
curl http://Message_Processor_IP:8082/v1/servers/self/up