Zelfstudie: Circuitonderbrekerdashboard gebruiken met Azure Spring Apps
Waarschuwing
Hystrix is niet langer actief in ontwikkeling en bevindt zich momenteel in de onderhoudsmodus.
Notitie
De Basic-, Standard- en Enterprise-abonnementen worden afgeschaft vanaf medio maart 2025, met een pensioenperiode van 3 jaar. We raden u aan om over te stappen naar Azure Container Apps. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
Het standaardverbruik en het speciale abonnement worden vanaf 30 september 2024 afgeschaft, met een volledige afsluiting na zes maanden. We raden u aan om over te stappen naar Azure Container Apps. Zie Azure Spring Apps Standard-verbruik en toegewezen abonnement migreren naar Azure Container Apps voor meer informatie.
Dit artikel is van toepassing op:✅ Java ❎ C#
Dit artikel is van toepassing op:✅ Basic/Standard ✅ Enterprise
In dit artikel leest u hoe u Netflix Turbine en Netflix Hystrix gebruikt in Azure Spring Apps. Spring Cloud Netflix Turbine wordt veel gebruikt om meerdere streaminggegevens van Netflix Hystrix samen te voegen, zodat streams in één weergave kunnen worden bewaakt met behulp van hystrix-dashboard.
Notitie
Netflix Hystrix wordt veel gebruikt in veel bestaande Spring-apps, maar het is niet langer actief in ontwikkeling. Als u een nieuw project ontwikkelt, moet u in plaats daarvan Spring Cloud Circuit Breaker-implementaties zoals resilience4j gebruiken. Anders dan Turbine die in deze zelfstudie wordt weergegeven, worden met het nieuwe Spring Cloud Circuit Breaker-framework alle implementaties van de metrische gegevenspijplijn samengevoegd in Micrometer, die ook wordt ondersteund door Azure Spring Apps. Zie Spring Cloud Resilience4J Circuit Breaker Metrics verzamelen met Micrometer (preview) voor meer informatie.
Uw voorbeeldtoepassingen voorbereiden
Het voorbeeld is gevorkt van deze opslagplaats.
Kloon de voorbeeldopslagplaats naar uw ontwikkelomgeving:
git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git
cd azure-spring-apps-samples/hystrix-turbine-sample
Bouw de drie toepassingen in deze zelfstudie:
- user-service: een eenvoudige REST-service met één eindpunt van /gepersonaliseerde/{id}
- aanbevelingsservice: een eenvoudige REST-service met één eindpunt van /recommendations, dat wordt aangeroepen door de gebruikersservice.
- hystrix-turbine: een Hystrix-dashboardservice om Hystrix-stromen en een Turbine-service weer te geven die hystrix metrics stream van andere services samenvoegt.
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
Uw Azure Spring Apps-exemplaar inrichten
Volg de stappen in de sectie Een exemplaar van Azure Spring Apps inrichten van quickstart: Uw eerste toepassing implementeren in Azure Spring Apps.
Uw toepassingen implementeren in Azure Spring Apps
Deze apps gebruiken geen configuratieserver, dus u hoeft geen configuratieserver in te stellen voor Azure Spring Apps. Maak en implementeer als volgt:
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
Uw apps verifiëren
Nadat alle apps worden uitgevoerd en detecteerbaar zijn, hebt u toegang tot user-service
het pad https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1
vanuit uw browser. Als de gebruikersservice toegang heeft tot recommendation-service
, moet u de volgende uitvoer zien. Vernieuw de webpagina een paar keer als het niet werkt.
[{"name":"Product1","description":"Description1","detailsLink":"link1"},{"name":"Product2","description":"Description2","detailsLink":"link3"},{"name":"Product3","description":"Description3","detailsLink":"link3"}]
Open uw Hystrix-dashboard en metrische gegevensstroom
Verifieer met openbare eindpunten of privé-testeindpunten.
Openbare eindpunten gebruiken
Ga naar hystrix-turbine met het pad https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix
in uw browser. In de volgende afbeelding ziet u de Hystrix-dashboard die wordt uitgevoerd in deze app.
Kopieer de URL https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default
van de turbinestroom naar het tekstvak en selecteer Stream bewaken. Met deze actie wordt het dashboard weergegeven. Als er niets wordt weergegeven in de viewer, gebruikt u de user-service
-eindpunten om gegevensstromen te genereren.
Notitie
In productie mogen het dashboard en de gegevensstroom van Hystrix niet bereikbaar zijn via internet.
Privé-testeindpunten gebruiken
Hystrix-gegevensstromen zijn ook toegankelijk vanaf test-endpoint
. Omdat het een backend-service is, hebben we geen openbaar eindpunt toegewezen aan recommendation-service
, maar we kunnen de metrische gegevens wel weergeven met een testeindpunt op https://primary:<KEY>@<SERVICE-NAME>.test.azuremicroservices.io/recommendation-service/default/actuator/hystrix.stream
Als web-app moet Hystrix-dashboard werken op test-endpoint
. Als deze niet goed werkt, kan het zijn dat er twee redenen zijn: eerst met behulp van test-endpoint
de basis-URL gewijzigd van /
in /<APP-NAME>/<DEPLOYMENT-NAME>
, of, ten tweede, gebruikt de web-app een absoluut pad voor statische resource. Als u aan de slag test-endpoint
wilt gaan, moet u de <base>
front-endbestanden mogelijk handmatig bewerken.