Kurz: Použití řídicího panelu jističe s azure Spring Apps

Upozorňující

Hystrix už není v aktivním vývoji a aktuálně je v režimu údržby.

Poznámka:

Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.

Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container 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 . Od turbíny zobrazené v tomto kurzu nová architektura Spring Cloud Circuit Breaker sjednocuje všechny implementace svého datového kanálu metrik do mikrometrů, které podporuje také 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 se rozvětvuje 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ý se nazývá služba uživatelem.
  • hystrix-turbína: Služba řídicího panelu Hystrix pro zobrazení datových proudů Hystrix a agregace datového proudu 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 user-service k cestě 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.

Snímek obrazovky řídicího panelu Hystrix, který zobrazuje podrobnosti o zpoždění a názvu

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ů.

Snímek obrazovky se stránkou streamu Hystrix, která zobrazuje podrobnosti o fondech okruhů a vláken

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 back-endová služba jsme nepřiřadili veřejný koncový bod 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

Snímek obrazovky se stránkou streamu testovacího koncového bodu Hystrix

Jako webová aplikace by měl řídicí panel Hystrix fungovat .test-endpoint Pokud nefunguje správně, můžou existovat dva důvody: napřed použití test-endpoint změněné základní adresy URL z / na /<APP-NAME>/<DEPLOYMENT-NAME>nebo, za druhé, webová aplikace používá absolutní cestu pro statický prostředek. Abyste mohli pracovat, test-endpointbudete možná muset ručně upravit <base> front-endové soubory.

Další kroky