Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Varování
Hystrix už není v aktivním vývoji a aktuálně je v režimu údržby.
Poznámka:
Plány Basic, Standarda Enterprise vstoupily do důchodového období 17. března 2025. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Tento článek se vztahuje na:✅ Java ❎ C#
Tento článek se vztahuje na:✅ Basic/Standard ✅ Enterprise
V tomto článku se dozvíte, jak používat netflixovou turbínu a Netflix Hystrix v Azure Spring Apps. Spring Cloud Netflix Turbína se běžně používá k agregaci více streamů metrik Netflix Hystrix , aby bylo možné streamy monitorovat v jednom zobrazení pomocí řídicího panelu Hystrix.
Poznámka:
Netflix Hystrix se široce používá v mnoha existujících aplikacích Spring, ale už není v aktivním vývoji. Pokud vyvíjíte nový projekt, měli byste místo toho použít implementace Spring Cloud Circuit Breakeru, jako je odolnost 4j . Na rozdíl od Turbine zobrazené v tomto kurzu nový framework Spring Cloud Circuit Breaker sjednocuje všechny implementace svého datového kanálu metrik do Micrometer, který je podporován také v Azure Spring Apps. Další informace najdete v tématu Shromažďování metrik jističe Spring Cloud Resilience4J pomocí mikrometru (Preview).
Příprava ukázkových aplikací
Ukázka je odvozená z tohoto úložiště.
Naklonujte ukázkové úložiště do vývojového prostředí:
git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git
cd azure-spring-apps-samples/hystrix-turbine-sample
Sestavte tři aplikace, které jsou v tomto kurzu:
- user-service: Jednoduchá služba REST, která má jeden koncový bod /personalizované/{id}.
- služba doporučení: Jednoduchá služba REST, která má jeden koncový bod /recommendations, který je volán službou uživatele.
- hystrix-turbína: Služba řídicího panelu Hystrix pro zobrazení datových proudů metrik Hystrix a služba Turbine, která agreguje datové proudy metrik Hystrix z jiných služeb.
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
Zřízení instance Azure Spring Apps
Postupujte podle kroků v části Rychlé zřizovací instance Azure Spring Apps: Nasaďte svou první aplikaci do Azure Spring Apps.
Nasazení aplikací do Azure Spring Apps
Tyto aplikace nepoužívají konfigurační server, takže není nutné nastavovat konfigurační server pro Azure Spring Apps. Vytvořte a nasaďte následujícím způsobem:
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
Ověření aplikací
Jakmile jsou všechny aplikace spuštěné a zjistitelné, získejte přístup k user-service s cestou https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1 z prohlížeče. Pokud má uživatel-služba přístup recommendation-service, měli byste získat následující výstup. Pokud webová stránka nefunguje, aktualizujte webovou stránku několikrát.
[{"name":"Product1","description":"Description1","detailsLink":"link1"},{"name":"Product2","description":"Description2","detailsLink":"link3"},{"name":"Product3","description":"Description3","detailsLink":"link3"}]
Přístup k řídicímu panelu Hystrix a streamu metrik
Ověřte použití veřejných koncových bodů nebo privátních testovacích koncových bodů.
Použití veřejných koncových bodů
Přístup k turbíně hystrix s cestou https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix z prohlížeče. Následující obrázek znázorňuje řídicí panel Hystrix spuštěný v této aplikaci.
Zkopírujte adresu URL https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default streamu turbíny do textového pole a vyberte Sledovat stream. Tato akce zobrazí řídicí panel. Pokud se v prohlížeči nic nezobrazí, vygenerujte streamy stisknutím user-service koncových bodů.
Poznámka:
V produkčním prostředí by řídicí panel Hystrix a datový proud metrik neměly být zpřístupněny internetu.
Použití privátních testovacích koncových bodů
Streamy metrik Hystrix jsou také přístupné z test-endpoint. Jako služba na straně serveru jsme nepřiřadili veřejný koncový bod pro recommendation-service, ale můžeme zobrazit jeho metriky pomocí testovacího koncového bodu na adrese https://primary:<KEY>@<SERVICE-NAME>.test.azuremicroservices.io/recommendation-service/default/actuator/hystrix.stream
Jako webová aplikace by měl panel Hystrix fungovat na test-endpoint. Pokud nefunguje správně, mohou existovat dva důvody: zaprvé, změna základní adresy URL z test-endpoint na / použitím /<APP-NAME>/<DEPLOYMENT-NAME>, nebo zadruhé, webová aplikace používá absolutní cestu pro statické prostředky. Aby to fungovalo na test-endpoint, budete možná muset ručně upravit <base> ve front-endových souborech.