Öğretici: Azure Spring Apps ile Devre Kesici Panosu'nu kullanma

Uyarı

Hystrix artık etkin geliştirme aşamasında değildir ve şu anda bakım modundadır.

Not

Azure Spring Apps, Azure Spring Cloud hizmetinin yeni adıdır. Hizmetin yeni bir adı olsa da, ekran görüntüleri, videolar ve diyagramlar gibi varlıkları güncelleştirmek için çalışırken bazı yerlerde eski adı bir süre görürsünüz.

Bu makale şunlar için geçerlidir: ✔️ Java ❌ C#

Bu makale şunlar için geçerlidir: ✔️ Temel/Standart ✔️ Kurumsal

Bu makalede, Azure Spring Apps'te Netflix Türbini ve Netflix Hystrix'in nasıl kullanılacağı gösterilmektedir. Spring Cloud Netflix Türbini , hystrix panosu kullanılarak akışların tek bir görünümde izlenebilmesi için birden çok Netflix Hystrix ölçüm akışını toplamak için yaygın olarak kullanılır.

Not

Netflix Hystrix, mevcut birçok Spring uygulamasında yaygın olarak kullanılmaktadır ancak artık etkin geliştirme aşamasında değildir. Yeni bir proje geliştiriyorsanız bunun yerine resilience4j gibi Spring Cloud Circuit Breaker uygulamalarını kullanmanız gerekir. Bu öğreticide gösterilen Türbinden farklı olarak, yeni Spring Cloud Circuit Breaker çerçevesi ölçüm veri işlem hattının tüm uygulamalarını Azure Spring Apps tarafından da desteklenen Mikrometre'de birleştirir. Daha fazla bilgi için bkz . Mikrometre (Önizleme) ile Spring Cloud Resilience4J Devre Kesici Ölçümlerini Toplama.

Örnek uygulamalarınızı hazırlama

Örnek bu depodan çatallanır.

Örnek depoyu geliştirme ortamınıza kopyalayın:

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

Bu öğreticide yer alan üç uygulamayı oluşturun:

  • user-service: Tek uç noktası /kişiselleştirilmiş/{id} olan basit bir REST hizmeti
  • recommendation-service: Kullanıcı hizmeti tarafından çağrılan tek bir /recommendations uç noktasına sahip basit bir REST hizmeti.
  • hystrix-türbin: Hystrix akışlarını görüntülemek için bir Hystrix pano hizmeti ve diğer hizmetlerden Hystrix ölçüm akışını toplayarak bir Türbin hizmeti.
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

Azure Spring Apps örneğinizi sağlama

Hızlı Başlangıç: İlk uygulamanızı Azure Spring Apps'e dağıtma bölümünün Azure Spring Apps örneği sağlama bölümündeki adımları izleyin.

Uygulamalarınızı Azure Spring Apps'e dağıtma

Bu uygulamalar Yapılandırma Sunucusu kullanmaz, bu nedenle Azure Spring Apps için Yapılandırma Sunucusu'nu ayarlamanız gerekmez. Aşağıdaki gibi oluşturun ve dağıtın:

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

Uygulamalarınızı doğrulama

Tüm uygulamalar çalıştırıldıktan ve bulunabilir duruma geldikten sonra tarayıcınızdan yol https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1 ile erişim user-service sağlayın. Kullanıcı hizmeti erişebiliyorsa recommendation-serviceaşağıdaki çıkışı almanız gerekir. Çalışmazsa web sayfasını birkaç kez yenileyin.

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

Hystrix panonuza ve ölçüm akışınıza erişme

Genel uç noktaları veya özel test uç noktalarını kullanarak doğrulayın.

Genel uç noktaları kullanma

Tarayıcınızdan yol https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix ile hystrix-türbine erişin. Aşağıdaki şekilde, bu uygulamada çalışan Hystrix panosu gösterilmektedir.

Gecikme ve Başlık ayrıntılarını gösteren Hystrix Panosunun ekran görüntüsü.

Türbin akışı URL'sini https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default metin kutusuna kopyalayın ve Akışı İzle'yi seçin. Bu eylem panoyu görüntüler. Görüntüleyicide hiçbir şey gösterilmiyorsa, akış oluşturmak için uç noktalara tıklayın user-service .

Devre ve İş Parçacığı Havuzları ayrıntılarını gösteren Hystrix akış sayfasının ekran görüntüsü.

Not

Üretimde Hystrix panosu ve ölçüm akışı İnternet'e sunulmamalıdır.

Özel test uç noktalarını kullanma

Hystrix ölçüm akışlarına da içinden test-endpointerişilebilir. Arka uç hizmeti olarak için recommendation-servicegenel bir uç nokta atamadık, ancak ölçümlerini test uç noktası ile gösterebiliriz: https://primary:<KEY>@<SERVICE-NAME>.test.azuremicroservices.io/recommendation-service/default/actuator/hystrix.stream

Hystrix test uç noktası akış sayfasının ekran görüntüsü.

Bir web uygulaması olarak Hystrix panosu üzerinde test-endpointçalışıyor olmalıdır. Düzgün çalışmıyorsa, bunun iki nedeni olabilir: birincisi, test-endpoint temel URL'nin yerine //<APP-NAME>/<DEPLOYMENT-NAME>olarak değiştirilmesi veya ikinci olarak web uygulamasının statik kaynak için mutlak yol kullanması. üzerinde test-endpointçalışmasını sağlamak için ön uç dosyalarındaki öğesini <base> el ile düzenlemeniz gerekebilir.

Sonraki adımlar