Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Waarschuwing
Hystrix is niet langer actief in ontwikkeling en bevindt zich momenteel in de onderhoudsmodus.
Notitie
De Basic, Standarden Enterprise--plannen zijn op 17 maart 2025 buiten gebruik gesteld. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
Het Standaardverbruik en het toegewezen-plan zijn op 30 september 2024 met een uitfasering begonnen, met een volledige beëindiging eind maart 2025. 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 afgeleid van deze repository.
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 configureren
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 draaien en detecteerbaar zijn, opent u user-service
met het pad https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1
in 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
Toegang tot hystrix-turbine met het pad https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix
in uw browser. In de volgende afbeelding ziet u het Hystrix-dashboard zoals deze in deze app draait.
Kopieer de Turbine stream-URL https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default
in het tekstvak en selecteer Monitor Stream. 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 het niet goed werkt, kunnen er twee redenen zijn: ten eerste kan het zijn dat met behulp van test-endpoint
de basis-URL is gewijzigd van /
naar /<APP-NAME>/<DEPLOYMENT-NAME>
, of ten tweede, dat de webapp een absoluut pad gebruikt voor statische bronnen. Om het werkend te krijgen op test-endpoint
, moet u mogelijk de <base>
in de front-endbestanden handmatig bewerken.