Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Varning
Hystrix är inte längre i aktiv utveckling och är för närvarande i underhållsläge.
Kommentar
Planerna Basic, Standardoch Enterprise gick in i en pensionsperiod den 17 mars 2025. Mer information finns i meddelandet om azure Spring Apps-pensionering.
Planen Standard consumption och den dedikerade gick in i en pensionsperiod den 30 september 2024, med en fullständig avstängning i slutet av mars 2025. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.
Den här artikeln gäller för:✅ Java ❎ C#
Den här artikeln gäller för:✅ Basic/Standard ✅ Enterprise
Den här artikeln visar hur du använder Netflix Turbine och Netflix Hystrix i Azure Spring Apps. Spring Cloud Netflix Turbine används ofta för att aggregera flera Netflix Hystrix-måttströmmar så att strömmar kan övervakas i en enda vy med hystrix-instrumentpanelen.
Kommentar
Netflix Hystrix används ofta i många befintliga Spring-appar men är inte längre i aktiv utveckling. Om du utvecklar ett nytt projekt bör du använda Spring Cloud Circuit Breaker-implementeringar som resilience4j i stället. Det nya Spring Cloud Circuit Breaker-ramverket skiljer sig från Turbine som visas i den här självstudien och förenar alla implementeringar av dess måttdatapipeline till Micrometer, som också stöds av Azure Spring Apps. För mer information, se Samla in Spring Cloud Resilience4J Circuit Breaker Metrics med Micrometer (Förhandsversion).
Förbered dina exempelapplikationer
Exemplet förgrenas från den här lagringsplatsen.
Klona exempellagringsplatsen till din utvecklingsmiljö:
git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git
cd azure-spring-apps-samples/hystrix-turbine-sample
Skapa de tre program som finns i den här självstudien:
- user-service: En enkel REST-tjänst som har en enda slutpunkt för /personalized/{id}
- recommendation-service: En enkel REST-tjänst som har en enda slutpunkt för /recommendations, som anropas av användartjänsten.
- hystrix-turbine: En Hystrix-instrumentpanelstjänst för att visa Hystrix-strömmar och en Turbintjänst som aggregerar Hystrix-måttströmmen från andra tjänster.
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
Anordna din Azure Spring Apps-instans
Följ stegen i avsnittet Etablera en instans av Azure Spring Apps i Snabbstart: Distribuera ditt första program till Azure Spring Apps.
Distribuera dina program till Azure Spring Apps
Dessa appar använder inte Config Server, så du behöver inte konfigurera Config Server för Azure Spring Apps. Skapa och distribuera på följande sätt:
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
Verifiera dina appar
När alla appar körs och kan identifieras kan du komma åt user-service
via sökvägen https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1
med hjälp av webbläsaren. Om användartjänsten kan komma åt recommendation-service
bör du få följande utdata. Uppdatera webbsidan några gånger om den inte fungerar.
[{"name":"Product1","description":"Description1","detailsLink":"link1"},{"name":"Product2","description":"Description2","detailsLink":"link3"},{"name":"Product3","description":"Description3","detailsLink":"link3"}]
Få åtkomst till Hystrix-instrumentpanelen och måttströmmen
Kontrollera att du använder offentliga slutpunkter eller privata testslutpunkter.
Använda offentliga slutpunkter
Få åtkomst till hystrix-turbinen med sökvägen https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix
från webbläsaren. Följande bild visar Hystrix-instrumentpanelen som körs i den här appen.
Kopiera Turbine Stream-URL:en https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default
till textrutan och välj Övervaka ström. Den här åtgärden visar instrumentpanelen. Om inget visas i visningsprogrammet trycker du på slutpunkterna user-service
för att generera strömmar.
Kommentar
I produktion bör Hystrix-instrumentpanelen och måttströmmen inte exponeras för Internet.
Använda privata testslutpunkter
Hystrix-måttströmmar är också tillgängliga från test-endpoint
. Som en serverdelstjänst tilldelar vi inte någon offentlig slutpunkt för recommendation-service
, men vi kan visa dess mått med testslutpunkten på https://primary:<KEY>@<SERVICE-NAME>.test.azuremicroservices.io/recommendation-service/default/actuator/hystrix.stream
Som en webbapplikation ska Hystrix-instrumentpanelen fungera på test-endpoint
. Om den inte fungerar korrekt kan det finnas två orsaker: för det första att använda test-endpoint
ändrade bas-URL:en från /
till /<APP-NAME>/<DEPLOYMENT-NAME>
, eller, för det andra att webbappen använder en absolut sökväg för statiska resurser. För att få det att fungera på test-endpoint
, kan du behöva redigera <base>
i klientdelsfilerna manuellt.