Delen via


Handleiding: Gebruik het Circuitonderbreker-dashboard met Azure Spring Apps

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.

Schermopname van het Hystrix-dashboard met de details van vertraging en titel.

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.

Schermopname van de hystrix-streampagina met de details van circuit- en threadpools.

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

Schermopname van de pagina hystrix-test-eindpuntstream.

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.

Volgende stappen