Mikrometre ile Spring Cloud Resilience4J Devre Kesici Ölçümlerini Toplama (Önizleme)

Azure Spring Apps planı seçme

Not

Temel, Standart ve Kurumsal planları, 3 yıllık kullanımdan kaldırma süresiyle Mart 2025 ortasından itibaren kullanımdan kaldırılacaktır. Azure Container Apps'e geçiş yapmanızı öneririz. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.

Standart tüketim ve ayrılmış plan, altı ay sonra tamamen kapatılarak 30 Eylül 2024'den itibaren kullanımdan kaldırılacaktır. Azure Container Apps'e geçiş yapmanızı öneririz. Daha fazla bilgi için bkz . Azure Spring Apps Standart tüketimini ve ayrılmış planı Azure Container Apps'e geçirme.

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

Bu makalede, Application Insights Java işlem içi aracısı ile Spring Cloud Resilience4j Devre Kesici Ölçümlerini nasıl toplayacağınız gösterilmektedir. Bu özellik sayesinde, Micrometer ile Application Insights'tan Resilience4j devre kesici ölçümlerini izleyebilirsiniz.

Tanıtım spring-cloud-circuit-breaker-demo, izlemenin nasıl çalıştığını gösterir.

Önkoşullar

  • Geliştirme bilgisayarında yüklü değilse Git, Maven ve Java'yı yükleyin.

Uygulama oluşturma ve dağıtma

Örnek uygulamaları derlemek ve dağıtmak için aşağıdaki adımları kullanın.

  1. Demo deposunu kopyalamak ve oluşturmak için aşağıdaki komutu kullanın:

    Bash
    git clone https://github.com/spring-cloud-samples/spring-cloud-circuitbreaker-demo.git
    cd spring-cloud-circuitbreaker-demo && mvn clean package -DskipTests
    
  1. Azure Spring Apps hizmet örneği oluşturmak için aşağıdaki komutu kullanın:

    Azure CLI
    az spring create \
        --resource-group ${resource-group-name} \
        --name ${Azure-Spring-Apps-instance-name}
    
  2. Uygulamaları uç noktalarla oluşturmak için aşağıdaki komutları kullanın:

    Azure CLI
    az spring app create \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name resilience4j \
        --assign-endpoint
    az spring app create \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name reactive-resilience4j \
        --assign-endpoint
    
  3. Uygulamaları dağıtmak için aşağıdaki komutları kullanın:

    Azure CLI
    az spring app deploy \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name resilience4j \
        --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \
        --artifact-path ./spring-cloud-circuitbreaker-demo-resilience4j/target/spring-cloud-circuitbreaker-demo-resilience4j-0.0.1-SNAPSHOT.jar
    az spring app deploy \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name reactive-resilience4j \
        --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \
        --artifact-path ./spring-cloud-circuitbreaker-demo-reactive-resilience4j/target/spring-cloud-circuitbreaker-demo-reactive-resilience4j-0.0.1-SNAPSHOT.jar
    
  1. Azure Spring Apps hizmet örneği oluşturmak için aşağıdaki komutu kullanın:

    Not

    Aboneliğiniz hiçbir zaman Azure Spring Apps'in Kurumsal plan örneğini oluşturmak için kullanılmadıysa aşağıdaki komutu çalıştırmanız gerekir:

    Azure CLI
    az term accept \
        --publisher vmware-inc 
        --product azure-spring-cloud-vmware-tanzu-2 
        --plan asa-ent-hr-mtr
    
    Azure CLI
    az spring create \
        --resource-group ${resource-group-name} \
        --name ${Azure-Spring-Apps-instance-name} \
        --sku Enterprise
    
  2. Uç noktalarla uygulama oluşturmak için aşağıdaki komutları kullanın:

    Azure CLI
    az spring app create \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name resilience4j \
        --assign-endpoint
    az spring app create \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name reactive-resilience4j \
        --assign-endpoint
    
  3. Uygulamaları dağıtmak için aşağıdaki komutları kullanın:

    Azure CLI
    az spring app deploy \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name resilience4j \
        --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \
        --artifact-path ./spring-cloud-circuitbreaker-demo-resilience4j/target/spring-cloud-circuitbreaker-demo-resilience4j-0.0.1-SNAPSHOT.jar
    az spring app deploy \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name reactive-resilience4j \
        --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \
        --artifact-path ./spring-cloud-circuitbreaker-demo-reactive-resilience4j/target/spring-cloud-circuitbreaker-demo-reactive-resilience4j-0.0.1-SNAPSHOT.jar
    

Not

  • Resilience4j için gerekli bağımlılığı ekleyin:

    XML
    <dependency>
        <groupId>io.github.resilience4j</groupId>
        <artifactId>resilience4j-micrometer</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>
    </dependency>
    
  • Kodunuz, Spring Cloud Circuit Breaker başlatıcısı eklediğinizde otomatik olarak bean oluşturulan API'yi kullanmalıdırCircuitBreakerFactory. Daha fazla bilgi için bkz . Spring Cloud Circuit Breaker.

  • Aşağıdaki iki bağımlılığın Resilient4j paketleriyle çakışmaları vardır. Bunları eklemediğinizden emin olun.

    XML
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-sleuth</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zipkin</artifactId>
    </dependency>
    

Ağ geçidi uygulamaları tarafından sağlanan URL'ye gidin ve spring-cloud-circuit-breaker-demo adresinden uç noktaya aşağıdaki gibi erişin:

Console
/get
/delay/{seconds}
/fluxdelay/{seconds}

Azure portalında Resilence4j Ölçümlerini bulma

  1. Azure Spring Apps örneğinizde gezinti bölmesinde Application Insights'ı ve ardından sayfada Application Insights'ı seçin.

    Application Insights'ın vurgulandığı Azure Spring Apps Application Insights sayfasını gösteren Azure portalının ekran görüntüsü.

    Not

    Application Insights'ı etkinleştirmezseniz Java İşlem İçi aracısını etkinleştirebilirsiniz. Daha fazla bilgi için Azure Spring Apps'te Application Insights Java İşlem İçi Aracısı'nı kullanma bölümünün Azure portalını kullanarak Application Insights'ı yönetme bölümüne bakın.

  2. Dayanıklılık4j ölçümleri için boyut koleksiyonunu etkinleştirin. Daha fazla bilgi için Application Insights'ta Günlük tabanlı ve önceden toplanmış ölçümlerin Özel ölçüm boyutları ve önceden toplama bölümüne bakın.

  3. Gezinti bölmesinde Ölçümler'i seçin. Ölçümler sayfası, bu yordamdaki grafikleri tanımlamak için açılan menüler ve seçenekler sağlar. Tüm grafikler için Ölçüm Ad Alanını azure.applicationinsights olarak ayarlayın.

    Ölçüm Ad Alanı menüsünün açık ve azure-applicationinsights seçeneğinin vurgulandığı Azure portalı Application Insights Ölçümleri sayfasının ekran görüntüsü.

  4. Ölçümü resilience4j_circuitbreaker_buffered_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın.

    Devre kesici arabelleğe alınan çağrıları ve ortalama toplamayı içeren bir grafiği gösteren Azure portalı Application Insights Ölçümleri sayfasının ekran görüntüsü.

  5. Ölçüm'resilience4j_circuitbreaker_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın.

    Devre kesici çağrıları ve ortalama toplama içeren bir grafik gösteren Azure portalı Application Insights Ölçümleri sayfasının ekran görüntüsü.

  6. Ölçüm'resilience4j_circuitbreaker_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın. Filtre ekle'yi seçin ve Ad'ı Gecikme olarak ayarlayın.

    Devre kesici çağrıları, ortalama toplama ve Gecikme Filtresi içeren bir grafiği gösteren Azure portalı Application Insights Ölçümleri sayfasının ekran görüntüsü.

  7. Ölçüm'resilience4j_circuitbreaker_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın. Bölme uygula'yı seçin ve Bölme ölçütü'leri tür olarak ayarlayın.

    Devre kesici çağrıları, ortalama toplama ve bölme içeren bir grafiği gösteren Azure portalı Application Insights Ölçümleri sayfasının ekran görüntüsü.

  8. Ölçüm'resilience4j_circuitbreaker_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın. Ölçüm ekle'yi seçin, Ölçüm'resilience4j_circuitbreaker_buffered_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın. Ölçüm ekle'yi yeniden seçin, Ölçüm'resilience4j_circuitbreaker_slow_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın.

    Bu adımda açıklanan grafiği içeren Application Insights Ölçümleri sayfasını gösteren Azure portalının ekran görüntüsü.

  1. Azure Spring Apps örneğinizde, gezinti bölmesinde Application Insights'ı seçin ve ardından sayfada varsayılan Application Insights'ı seçin.

    Varsayılan Application Insights örneğinin vurgulandığı Azure Spring Apps Application Insights sayfasını gösteren Azure portalının ekran görüntüsü.

    Not

    Varsayılan Application Insights yoksa Java İşlem İçi aracısını etkinleştirebilirsiniz. Daha fazla bilgi için Azure Spring Apps'te Application Insights Java İşlem İçi Aracısı'nı kullanma bölümünün Azure portalını kullanarak Application Insights'ı yönetme bölümüne bakın.

  2. Dayanıklılık4j ölçümleri için boyut koleksiyonunu etkinleştirin. Daha fazla bilgi için Application Insights'ta Günlük tabanlı ve önceden toplanmış ölçümlerin Özel ölçüm boyutları ve önceden toplama bölümüne bakın.

  3. Gezinti bölmesinde Ölçümler'i seçin. Ölçümler sayfası, bu yordamdaki grafikleri tanımlamak için açılan menüler ve seçenekler sağlar. Tüm grafikler için Ölçüm Ad Alanını azure.applicationinsights olarak ayarlayın.

    Ölçüm Ad Alanı menüsünün açık ve azure.applicationinsights vurgulandığı Azure portalı Application Insights Ölçümleri sayfasının ekran görüntüsü.

  4. Ölçümü resilience4j_circuitbreaker_buffered_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın.

    Devre kesici arabelleğe alınan çağrıları ve ortalama toplamayı içeren bir grafiği gösteren Azure portalı Application Insights Ölçümleri sayfasının ekran görüntüsü.

  5. Ölçüm'resilience4j_circuitbreaker_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın.

    Devre kesici çağrıları ve ortalama toplama içeren bir grafik gösteren Azure portalı Application Insights Ölçümleri sayfasının ekran görüntüsü.

  6. Ölçüm'resilience4j_circuitbreaker_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın. Filtre ekle'yi seçin ve Ad'ı Gecikme olarak ayarlayın.

    Devre kesici çağrıları, ortalama toplama ve gecikme filtresi içeren bir grafiği gösteren Azure portalı Application Insights Ölçümleri sayfasının ekran görüntüsü.

  7. Ölçüm'resilience4j_circuitbreaker_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın. Bölme uygula'yı seçin ve Bölme ölçütü'leri tür olarak ayarlayın.

    Devre kesici çağrıları, ortalama toplama ve bölme içeren bir grafiği gösteren Azure portalı Application Insights Ölçümleri sayfasının ekran görüntüsü.

  8. Ölçüm'resilience4j_circuitbreaker_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın. Ölçüm ekle'yi seçin, Ölçüm'resilience4j_circuitbreaker_buffered_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın. Ölçüm ekle'yi yeniden seçin, Ölçüm'resilience4j_circuitbreaker_slow_calls olarak ayarlayın ve ardından Toplama'yı Ort olarak ayarlayın.

    Bu adımda açıklanan grafiği içeren Application Insights Ölçümleri sayfasını gösteren Azure portalının ekran görüntüsü.

Sonraki adımlar