Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ostrzeżenie
Program Hystrix nie jest już w aktywnym rozwoju i jest obecnie w trybie konserwacji.
Uwaga
Plany Basic, Standardi Enterprise weszły w okres wycofywania 17 marca 2025 r. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
Plan dotyczący zużycia standardowego oraz dedykowany plan zostały wycofane 30 września 2024 r., z całkowitym zamknięciem do końca marca 2025 r. Aby uzyskać więcej informacji, zobacz Migracja standardowego zużycia i dedykowanego planu usługi Azure Spring Apps do usługi Azure Container Apps.
Ten artykuł dotyczy:✅ Java ❎ C#
Ten artykuł dotyczy:✅ Podstawowa/Standardowa ✅ Enterprise
W tym artykule pokazano, jak korzystać z platform Netflix Turbine i Netflix Hystrix w usłudze Azure Spring Apps. Turbina Spring Cloud Netflix jest powszechnie używana do agregowania wielu strumieni metryk Netflix Hystrix, dzięki czemu strumienie można monitorować w jednym widoku przy użyciu pulpitu nawigacyjnego Hystrix.
Uwaga
Program Netflix Hystrix jest powszechnie używany w wielu istniejących aplikacjach Spring, ale nie jest już w aktywnym rozwoju. Jeśli tworzysz nowy projekt, zamiast tego należy użyć implementacji Spring Cloud Circuit Breaker, takich jak resilience4j. Inaczej niż turbina pokazana w tym samouczku, nowa struktura wyłącznika Spring Cloud łączy wszystkie implementacje potoku danych metryk z mikrometrem, który jest również obsługiwany przez usługę Azure Spring Apps. Aby uzyskać więcej informacji, zobacz Collect Spring Cloud Resilience4J Circuit Breaker Metrics with Micrometer (Wersja zapoznawcza).
Przygotowywanie przykładowych aplikacji
Przykład jest sklonowany z tego repozytorium.
Sklonuj przykładowe repozytorium do środowiska programistycznego:
git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git
cd azure-spring-apps-samples/hystrix-turbine-sample
Zbuduj trzy aplikacje, które znajdują się w tym samouczku:
- user-service: prosta usługa REST, która ma pojedynczy punkt końcowy /personalized/{id}
- recommendation-service: prosta usługa REST, która ma pojedynczy endpoint /recommendations, który jest wywoływany przez user-service.
- hystrix-turbina: usługa pulpitu Hystrix do wizualizacji strumieni Hystrix oraz usługa turbiny agregująca strumienie metryk Hystrix z innych usług.
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
Utwórz instancję usługi Azure Spring Apps
Wykonaj kroki opisane w sekcji Aprowizowanie instancji Azure Spring Apps w Szybki start: Wdrażanie pierwszej aplikacji do Azure Spring Apps.
Wdrażanie aplikacji w usłudze Azure Spring Apps
Te aplikacje nie używają Config Server, więc nie ma potrzeby konfigurowania Config Server dla usługi Azure Spring Apps. Utwórz i wdróż w następujący sposób:
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
Weryfikowanie aplikacji
Po uruchomieniu i odnalezieniu wszystkich aplikacji uzyskaj dostęp za user-service
pomocą ścieżki https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1
z przeglądarki. Jeśli usługa użytkownika może uzyskać dostęp do recommendation-service
, powinny zostać wyświetlone następujące dane wyjściowe. Odśwież stronę internetową kilka razy, jeśli nie będzie działać.
[{"name":"Product1","description":"Description1","detailsLink":"link1"},{"name":"Product2","description":"Description2","detailsLink":"link3"},{"name":"Product3","description":"Description3","detailsLink":"link3"}]
Uzyskaj dostęp do pulpitu nawigacyjnego i strumienia metryk programu Hystrix
Sprawdź przy użyciu publicznych punktów końcowych lub prywatnych punktów końcowych testu.
Korzystanie z publicznych punktów końcowych
Uzyskaj dostęp do turbiny hystrix przy użyciu ścieżki https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix
z przeglądarki. Na poniższej ilustracji przedstawiono pulpit nawigacyjny programu Hystrix uruchomiony w tej aplikacji.
Skopiuj adres URL https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default
strumienia turbiny do pola tekstowego i wybierz pozycję Monitoruj strumień. Ta akcja powoduje wyświetlenie pulpitu nawigacyjnego. Jeśli nic nie jest wyświetlane w przeglądarce, naciśnij user-service
punkty końcowe, aby wygenerować strumienie.
Uwaga
W środowisku produkcyjnym pulpit nawigacyjny Hystrix i strumień metryk nie powinny być uwidocznione w Internecie.
Korzystanie z prywatnych punktów końcowych testu
Strumienie metryk programu Hystrix są również dostępne z witryny test-endpoint
. Jako usługa backendowa nie przypisaliśmy publicznego punktu końcowego dla recommendation-service
, ale możemy pokazać jego metryki za pomocą punktu końcowego testów w https://primary:<KEY>@<SERVICE-NAME>.test.azuremicroservices.io/recommendation-service/default/actuator/hystrix.stream
Jako aplikacja webowa, pulpit nawigacyjny Hystrix powinien działać na test-endpoint
. Jeśli nie działa prawidłowo, mogą istnieć dwa powody: po pierwsze, zmieniając używając test-endpoint
podstawowy adres URL z /
na /<APP-NAME>/<DEPLOYMENT-NAME>
, lub, po drugie, aplikacja internetowa używa ścieżki bezwzględnej dla zasobu statycznego. Aby uzyskać działanie na test-endpoint
, może być konieczne ręczne edytowanie <base>
w plikach front-end.