Рекомендуется отключать доступность сервера во время обслуживания, например, при перезагрузке или обновлении сервера. Когда доступность отключена, трафик на сервер не направляется. Например, когда доступность отключена на процессоре сообщений, маршрутизаторы не будут направлять трафик на этот процессор сообщений.
Например, чтобы обновить процессор сообщений, вы можете использовать следующую процедуру:
- Отключите доступность процессора сообщений.
- Обновите процессор сообщений.
- Включите доступность на процессоре сообщений.
Отключение/включение доступности на процессоре сообщений
Чтобы отключить доступность процессора сообщений, вы можете просто остановить процессор сообщений:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
Процессор сообщений сначала обрабатывает все ожидающие сообщения, а затем отключается. Любые новые запросы перенаправляются на другие доступные процессоры сообщений.
Чтобы перезапустить процессор сообщений, используйте следующие команды:
/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.
Отключение/включение доступности на маршрутизаторе
В производственной среде перед пограничными маршрутизаторами обычно имеется балансировщик нагрузки. Балансировщики нагрузки отслеживают порт 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
Выполните проверку работоспособности маршрутизатора
Вы можете выполнять следующие типы проверок работоспособности маршрутизаторов:
- Живучесть: сигнал подсистеме мониторинга о том, что она может перезапустить компонент. Например:
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