Tutorial: Verwenden des Trennschalterdashboards mit Azure Spring Apps
Warnung
Hystrix wird nicht mehr aktiv entwickelt und befindet sich derzeit im Wartungsmodus.
Hinweis
Azure Spring Apps ist der neue Name für den Azure Spring Cloud-Dienst. Obwohl der Dienst umbenannt wurde, wird der alte Name noch an einigen Stellen verwendet, solange wir Ressourcen wie Screenshots, Videos und Diagramme aktualisieren.
Dieser Artikel gilt für: ✔️ Java ❌ C#
Dieser Artikel gilt für: ✔️ Basic/Standard ✔️ Enterprise
In diesem Artikel erfahren Sie, wie Sie Netflix Turbine und Netflix Hystrix in Azure Spring Apps verwenden. Spring Cloud Netflix Turbine wird häufig verwendet, um mehrere Netflix Hystrix-Metrikdatenströme zu aggregieren, sodass die Datenströme über das Hystrix-Dashboard in einer einzelnen Ansicht überwacht werden können.
Hinweis
Netflix Hystrix wird in vielen bestehenden Spring Apps-Apps verwendet, befindet sich aber nicht mehr in aktiver Entwicklung. Wenn Sie ein neues Projekt entwickeln, sollten Sie stattdessen Spring Cloud-Leistungsschutzschalter-Implementierungen wie resilience4j verwenden. Anders als die in diesem Tutorial gezeigte Turbine vereinigt das neue Spring Cloud-Trennschalterframework alle Implementierungen seiner Metrikdatenpipeline in Micrometer. Dies wird auch von Azure Spring Apps unterstützt. Weitere Informationen finden Sie unter Erfassen von Metriken zum Spring Cloud Resilience4J-Leistungsschutzschalter mit Micrometer (Vorschau).
Vorbereiten der Beispielanwendungen
Das Beispiel wird aus diesem Repository geforkt.
Klonen Sie das Beispielrepository in Ihre Entwicklungsumgebung:
git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git
cd azure-spring-apps-samples/hystrix-turbine-sample
Erstellen Sie die drei Anwendungen, die sich in diesem Tutorial befinden:
- user-service: Ein einfacher REST-Dienst mit einem einzelnen Endpunkt von „/personalized/{id}“
- recommendation-service: Ein einfacher REST-Dienst mit einem einzelnen Endpunkt von „/recommendations“, der von „user-service“ aufgerufen wird.
- hystrix-turbine: Ein Hystrix-Dashboarddienst zur Anzeige von Hystrix-Datenströmen und ein Turbine-Dienst, der Hystrix-Metrikdatenströme aus anderen Diensten zusammenfasst.
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
Bereitstellen Ihrer Azure Spring Apps-Instanz
Befolgen Sie die Schritte im Abschnitt Bereitstellen einer Instanz in Azure Spring Apps von Schnellstart: Bereitstellen Ihrer ersten Anwendung in Azure Spring Apps.
Bereitstellen von Anwendungen in Azure Spring Apps
Diese Apps verwenden keinen Config Server, weshalb es nicht notwendig ist, Config Server für Azure Spring Apps einzurichten. Führen Sie die Erstellung und Bereitstellung wie folgt durch:
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
Überprüfen Sie Ihre Apps.
Nachdem alle Apps ausgeführt werden und auffindbar sind, greifen Sie auf user-service
mit dem Pfad https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1
von Ihrem Browser aus zu. Wenn der Benutzerdienst auf recommendation-service
zugreifen kann, sollten Sie die folgende Ausgabe erhalten. Aktualisieren Sie die Webseite mehrmals, wenn sie nicht funktioniert.
[{"name":"Product1","description":"Description1","detailsLink":"link1"},{"name":"Product2","description":"Description2","detailsLink":"link3"},{"name":"Product3","description":"Description3","detailsLink":"link3"}]
Zugreifen auf Ihr Hystrix-Dashboard und den Metrikdatenstrom
Führen Sie die Überprüfung mit öffentlichen Endpunkten oder privaten Testendpunkten durch.
Verwenden öffentlicher Endpunkte
Greifen Sie mit Ihrem Browser über den Pfad https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix
auf „hystrix-turbine“ zu. In der folgenden Abbildung ist das Hystrix-Dashboard in dieser App dargestellt.
Kopieren Sie die URL des Turbine-Datenstroms https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default
in das Textfeld, und wählen Sie Datenstrom überwachen aus. Durch diese Aktion wird das Dashboard angezeigt. Wenn im Viewer nichts angezeigt wird, erfassen Sie die user-service
-Endpunkte, um Datenströme zu generieren.
Hinweis
In der Produktionsumgebung sollten das Hystrix-Dashboard und der Metrikdatenstrom nicht über das Internet zugänglich sein.
Verwenden privater Testendpunkte
Hystrix-Metrikdatenströme sind auch von test-endpoint
aus zugänglich. Als Back-End-Dienst haben wir keinen öffentlichen Endpunkt für recommendation-service
zugewiesen, aber wir können seine Metriken mit einem Testendpunkt bei https://primary:<KEY>@<SERVICE-NAME>.test.azuremicroservices.io/recommendation-service/default/actuator/hystrix.stream
anzeigen.
Als Web-App sollte das Hystrix-Dashboard mit test-endpoint
arbeiten. Wenn es nicht ordnungsgemäß funktioniert, kann dies zwei Gründe haben: Die Verwendung von test-endpoint
hat die Basis-URL von /
in /<APP-NAME>/<DEPLOYMENT-NAME>
geändert oder die Web-App verwendet absolute Pfade für statische Ressourcen. Damit es mit test-endpoint
funktioniert, müssen Sie möglicherweise die <base>
in den Front-End-Dateien manuell bearbeiten.
Nächste Schritte
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für