Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предупреждение
Hystrix больше не находится в активной разработке и в настоящее время находится в режиме обслуживания.
Примечание.
Планы Basic, Standardи Enterprise вступили в период вывода из обращения 17 марта 2025 года. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Эта статья относится к:✅ Java ❎ C#
Эта статья относится к:✅ Basic/Standard ✅ Enterprise
В этой статье показано, как использовать Netflix Turbine и Netflix Hystrix в Azure Spring Apps. Spring Cloud Netflix Turbine широко используется для агрегирования нескольких потоков метрик Netflix Hystrix, чтобы потоки можно было отслеживать в одном представлении с помощью панели мониторинга Hystrix .
Примечание.
Netflix Hystrix широко используется во многих существующих приложениях Spring, но он больше не в активной разработке. Если вы разрабатываете новый проект, вам следует использовать реализации Spring Cloud Circuit Breaker, такие как resilience4j. В отличие от Turbine, показанного в этом учебнике, новая платформа размыкателя цепи Spring Cloud объединяет все реализации своего конвейера данных метрик в Micrometer, который также поддерживается средой Azure Spring Apps. Для получения дополнительной информации см. статью Сбор метрик отказоустойчивости Spring Cloud Resilience4J с помощью Micrometer (предварительная версия).
Подготовка примеров приложений
Пример разветвлен из этого репозитория.
Клонируйте пример репозитория в среду разработки:
git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git
cd azure-spring-apps-samples/hystrix-turbine-sample
Создайте три приложения, которые находятся в этом руководстве:
- сервис пользователей: простой REST-сервис, который имеет одну конечную точку /персонализированный/{id}
- recommendation-service: простой REST-сервис с единственной конечной точкой /recommendations, которая вызывается сервисом user-service.
- hystrix-turbine: служба панели управления Hystrix для отображения потоков Hystrix и служба Turbine, агрегирующая поток метрик Hystrix из других служб.
mvn clean package -D skipTests -f user-service/pom.xml
mvn clean package -D skipTests -f recommendation-service/pom.xml
mvn clean package -D skipTests -f hystrix-turbine/pom.xml
Настройка экземпляра Azure Spring Apps
Следуйте шагам, описанным в разделе "Подготовка экземпляра Azure Spring Apps" в кратком руководстве "Развертывание первого приложения в Azure Spring Apps".
Развертывание приложений в Azure Spring Apps
Эти приложения не используют сервер конфигурации, поэтому не нужно настраивать сервер конфигурации для Azure Spring Apps. Создайте и разверните приложения следующим образом:
az configure --defaults \
group=<resource-group-name> \
spring=<Azure-Spring-Apps-instance-name>
az spring app create --name user-service --assign-endpoint
az spring app create --name recommendation-service
az spring app create --name hystrix-turbine --assign-endpoint
az spring app deploy \
--name user-service \
--artifact-path user-service/target/user-service.jar
az spring app deploy \
--name recommendation-service \
--artifact-path recommendation-service/target/recommendation-service.jar
az spring app deploy \
--name hystrix-turbine \
--artifact-path hystrix-turbine/target/hystrix-turbine.jar
Проверка приложений
Убедившись, что запущенные приложения обнаруживаются, откройте в браузере страницу user-service, перейдя по адресу https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1. Если приложение user-service может получить доступ к recommendation-service, вы должны получить следующие выходные данные. Обновите веб-страницу несколько раз, если она не работает.
[{"name":"Product1","description":"Description1","detailsLink":"link1"},{"name":"Product2","description":"Description2","detailsLink":"link3"},{"name":"Product3","description":"Description3","detailsLink":"link3"}]
Доступ к панели мониторинга Hystrix и потоку метрик
Выполните проверку, используя общедоступные конечные точки или частные конечные точки теста.
Использование общедоступных конечных точек
Получите доступ к приложению hystrix-turbine с помощью пути https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix из браузера. На следующем рисунке показана панель мониторинга Hystrix, работающая в этом приложении.
Скопируйте URL-адрес потока Turbine https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default в текстовое поле и нажмите Monitor Stream (Мониторинг потока). Это действие отображает панель мониторинга. Если в средстве просмотра ничего не отображается, нажмите конечные точки user-service для создания потоков.
Примечание.
В рабочей среде панель мониторинга Hystrix и поток метрик не должны быть доступны в Интернете.
Использование частных конечных точек теста
Потоки метрик Hystrix также доступны из test-endpoint. В качестве серверной службы мы не назначали общедоступную конечную точку для recommendation-service, но мы можем отобразить ее метрики с помощью test-endpoint в https://primary:<KEY>@<SERVICE-NAME>.test.azuremicroservices.io/recommendation-service/default/actuator/hystrix.stream.
Как веб-приложение панель мониторинга Hystrix должна работать на test-endpoint. Если он не работает должным образом, может быть две причины: во-первых, использование test-endpoint изменило базовый URL-адрес с / на /<APP-NAME>/<DEPLOYMENT-NAME>, или, во-вторых, веб-приложение использует абсолютный путь для статического ресурса. Чтобы это работало на test-endpoint, возможно, потребуется вручную отредактировать <base> в фронтенд-файлах.