Aracılığıyla paylaş


Öğ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

Temel, Standardve Enterprise planları 17 Mart 2025'te kullanımdan kaldırma dönemine girdi. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.

Standart tüketim ve ayrılmış planı 30 Eylül 2024'te emeklilik dönemine girdi ve Mart 2025 sonuna kadar tamamen kapatılacak. Daha fazla bilgi için bakınız: Azure Spring Apps Standard tüketimini ve ayrılmış planı Azure Container Apps'e geçirme.

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 Turbine, birden çok Netflix Hystrix ölçüm akışını toplayarak, bu akışların Hystrix panosu aracılığıyla tek bir görünümden izlenebilmesini sağlamak 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: Micrometer (Önizleme) ile Spring Cloud Resilience4J Devre Kesici Ölçümlerini Toplama.

Örnek uygulamalarınızı hazırlama

Bu örnek, bu depodan forklanmıştı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, /recommendations adında tek bir uç noktasına sahip basit bir REST hizmeti.
  • hystrix-türbin: Hystrix akışlarını görüntülemek için bir Hystrix gösterge paneli hizmeti ve diğer hizmetlerden Hystrix ölçüt akışını bir araya getiren 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ğlayın

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ışır ve keşfedilebilir duruma geldiğinde, tarayıcınızdan user-service yolunu kullanarak https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1 adresine erişin. Kullanıcı hizmeti recommendation-service'ye erişebiliyorsa, aş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

Yol https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix ile tarayıcınızdan hystrix-turbine erişin. Aşağıdaki şekilde, bu uygulamada çalışan Hystrix gösterge paneli 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'yi /'den /<APP-NAME>/<DEPLOYMENT-NAME>'ye değiştirmiş olması veya ikincisi, web uygulamasının statik kaynak için mutlak yol kullanıyor olması. Üzerinde test-endpoint çalışmasını sağlamak için ön uç dosyalarındaki <base> öğesini el ile düzenlemeniz gerekebilir.

Sonraki adımlar