Megosztás a következőn keresztül:


Oktatóanyag: Kapcsolatcsoport-megszakító irányítópult használata az Azure Spring Appsszel

Figyelmeztetés

A Hystrix már nem aktív fejlesztés alatt áll, és jelenleg karbantartási módban van.

Feljegyzés

Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.

Ez a cikk a következőre vonatkozik: ✔️ Java ❌ C#

Ez a cikk a következőre vonatkozik: ✔️ Basic/Standard ✔️ Enterprise

Ez a cikk bemutatja, hogyan használható a Netflix Turbine és a Netflix Hystrix az Azure Spring Appsben. A Spring Cloud Netflix Turbinát széles körben használják több Netflix Hystrix-metrikastream összesítésére, hogy a streamek egyetlen nézetben, a Hystrix irányítópultján legyenek monitorozásra.

Feljegyzés

A Netflix Hystrix-t széles körben használják számos meglévő Spring-alkalmazásban, de már nem aktív fejlesztés alatt áll. Ha új projektet fejleszt, inkább a Spring Cloud Circuit Breaker implementációit kell használnia, például a resilience4j-t . Az oktatóanyagban bemutatott Turbinától eltérően az új Spring Cloud Circuit Breaker keretrendszer egyesíti a metrikaadat-folyamat összes implementációját a Micrometerben, amelyet az Azure Spring Apps is támogat. További információ: Collect Spring Cloud Resilience4J Circuit Breaker Metrics with Micrometer (Preview).

Mintaalkalmazások előkészítése

A minta elágazik ebből az adattárból.

Klónozza a mintaadattárat a fejlesztőkörnyezetbe:

git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git
cd azure-spring-apps-samples/hystrix-turbine-sample

Az oktatóanyagban szereplő három alkalmazás összeállítása:

  • user-service: Egy egyszerű REST-szolgáltatás, amely egyetlen végponttal rendelkezik a /personalized/{id}
  • recommendation-service: Egy egyszerű REST-szolgáltatás, amely egyetlen végponttal rendelkezik a /recommendations-ből, amelyet a felhasználó-szolgáltatás hív meg.
  • hystrix-turbina: Hystrix irányítópult-szolgáltatás a Hystrix-streamek megjelenítéséhez, valamint egy Turbina szolgáltatás, amely a Hystrix-metrikák más szolgáltatásokból származó adatfolyamait összesítve jeleníti meg.
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

Az Azure Spring Apps-példány üzembe helyezése

Kövesse az Azure Spring Apps egy példányának üzembe helyezéséről szóló rövid útmutató lépéseit: Az első alkalmazás üzembe helyezése az Azure Spring Appsben.

Alkalmazások üzembe helyezése az Azure Spring Appsben

Ezek az alkalmazások nem használják a Config Servert, ezért nem kell beállítani a Config Servert az Azure Spring Appshez. Létrehozás és üzembe helyezés az alábbiak szerint:

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

Alkalmazások ellenőrzése

Miután az összes alkalmazás fut és felderíthető, a böngészőből elérheti user-service az elérési utat https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1 . Ha a felhasználói szolgáltatás hozzáfér recommendation-service, a következő kimenetet kell kapnia. Ha nem működik, frissítse a weblapot néhányszor.

[{"name":"Product1","description":"Description1","detailsLink":"link1"},{"name":"Product2","description":"Description2","detailsLink":"link3"},{"name":"Product3","description":"Description3","detailsLink":"link3"}]

Hozzáférés a Hystrix-irányítópulthoz és a metrikák streamjéhez

Ellenőrizze nyilvános végpontok vagy privát tesztvégpontok használatát.

Nyilvános végpontok használata

Keresse meg a hystrix-turbinát a böngészőben található elérési úttal https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix . Az alábbi ábrán az alkalmazásban futó Hystrix-irányítópult látható.

Képernyőkép a Hystrix irányítópultjáról, amelyen a Késleltetés és a Cím részletei láthatók.

Másolja a Turbina-stream URL-címét https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default a szövegmezőbe, és válassza a Stream figyelése lehetőséget. Ez a művelet megjeleníti az irányítópultot. Ha a megtekintőben semmi sem jelenik meg, nyomja le a user-service végpontokat a streamek létrehozásához.

Képernyőkép a Hystrix streamoldalról, amelyen a kapcsolatcsoport és a szálkészletek részletei láthatók.

Feljegyzés

Éles környezetben a Hystrix-irányítópult és a metrikák streamje nem érhető el az interneten.

Privát tesztvégpontok használata

A Hystrix metrikák streamjei szintén elérhetők a .test-endpoint Háttérszolgáltatásként nem rendeltünk hozzá nyilvános végpontot recommendation-service, de a metrikákat a tesztvégponttal a következő helyen jeleníthetjük meg: https://primary:<KEY>@<SERVICE-NAME>.test.azuremicroservices.io/recommendation-service/default/actuator/hystrix.stream

Képernyőkép a Hystrix tesztvégpont streamoldaláról.

Webalkalmazásként a Hystrix irányítópultjának működnie kell.test-endpoint Ha nem működik megfelelően, két oka lehet: először is a webalkalmazás az alap URL-címének / /<APP-NAME>/<DEPLOYMENT-NAME>módosításával test-endpoint a statikus erőforrás abszolút elérési útját használja. Ahhoz, hogy működjön test-endpoint, előfordulhat, hogy manuálisan kell szerkesztenie az <base> előtérfájlokban.

Következő lépések