Azure Container Apps'te Spring için Eureka Server bileşeninin ayarlarını yapılandırma (önizleme)
Spring için Eureka Server, mikro hizmetler için merkezi hizmet bulma mekanizmasıdır. Spring için Eureka Server bileşeninizi yapılandırmayı ve yönetmeyi öğrenmek için aşağıdaki kılavuzu kullanın.
Göster
komutunu kullanarak show
tek bir bileşenin ayrıntılarını ada göre görüntüleyebilirsiniz.
Aşağıdaki komutu çalıştırmadan önce, ile çevrelenen <>
yer tutucuları değerlerinizle değiştirin.
az containerapp env java-component eureka-server-for-spring show \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--name <JAVA_COMPONENT_NAME>
Liste
komutunu kullanarak list
tüm kayıtlı Java bileşenlerini listeleyebilirsiniz.
Aşağıdaki komutu çalıştırmadan önce, ile çevrelenen <>
yer tutucuları değerlerinizle değiştirin.
az containerapp env java-component list \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP>
Bağlantıyı kes
Kapsayıcı uygulamasından bağlamayı kaldırmak için seçeneğini kullanın --unbind
.
Aşağıdaki komutu çalıştırmadan önce, ile çevrelenen <>
yer tutucuları değerlerinizle değiştirin.
az containerapp update \
--name <APP_NAME> \
--unbind <JAVA_COMPONENT_NAME> \
--resource-group <RESOURCE_GROUP>
Spring için Eureka Sunucunuz için izin verilen yapılandırma listesi
Aşağıdaki listede desteklenen yapılandırmaların ayrıntıları yer alır. Spring Cloud Eureka Server'da daha fazla ayrıntı bulabilirsiniz.
Not
Lütfen yeni özellik istekleri için destek biletleri gönderin.
Yapılandırma seçenekleri
komutu, az containerapp update
Spring için Eureka Sunucusunun nasıl yapılandırıldığını denetlemek için parametresini kullanır --configuration
. Bir boşlukla ayrıldığı sürece aynı anda birden çok parametre kullanabilirsiniz. Spring Cloud Eureka Server belgelerinde daha fazla ayrıntı bulabilirsiniz.
Yapılandırma özelliğinde eureka.server
aşağıdaki yapılandırma ayarları kullanılabilir.
Veri Akışı Adı | Veri Akışı Açıklaması | Default value |
---|---|---|
eureka.server.enable-self-preservation |
Etkinleştirildiğinde, sunucu sunucudan alması gereken yenileme sayısını izler. Her zaman yenileme sayısı eureka.server.renewal-percent-threshold tarafından tanımlanan eşik yüzdesinin altına düşer. Varsayılan değer özgün Eureka sunucusunda olarak true ayarlanır, ancak Eureka Server Java bileşeninde varsayılan değer olarak false ayarlanır. Bkz . Spring Java bileşeni için Eureka Server sınırlamaları |
yanlış |
eureka.server.renewal-percent-threshold |
eureka.server.renewal-threshold-update-interval-ms tarafından belirtilen dönemde istemcilerden beklenen en düşük yenileme yüzdesi. Yenilemeler eşiğin altına düşerse, eureka.server.enable-self-preservation etkinse süre sonu devre dışı bırakılır. | 0.85 |
eureka.server.renewal-threshold-update-interval-ms |
eureka.server.renewal-percent-threshold içinde belirtilen eşiğin güncelleştirilmesi gereken aralık. | 0 |
eureka.server.expected-client-renewal-interval-seconds |
İstemcilerin sinyallerini göndermesi beklenen aralık. Varsayılan değer 30 saniyedir. İstemciler her 15 saniyede bir farklı sıklıkta sinyal gönderirse, bu parametre buna göre ayarlanmalıdır, aksi takdirde kendini koruma beklendiği gibi çalışmaz. | 30 |
eureka.server.response-cache-auto-expiration-in-seconds |
Değişiklik olayları tarafından geçersiz kılınmamışsa, kayıt defteri yükünün önbellekte tutulması gereken zamanı alır. | 180 |
eureka.server.response-cache-update-interval-ms |
İstemcinin yük önbelleğinin güncelleştirilmesi gereken zaman aralığını alır. | 0 |
eureka.server.use-read-only-response-cache |
com.netflix.eureka.registry.ResponseCache şu anda yanıtlar için iki düzeyli bir önbelleğe alma stratejisi kullanmaktadır. Süre sonu ilkesine sahip readWrite önbelleği ve süresi dolmadan önbelleğe alınan salt okunur önbellek. | true |
eureka.server.disable-delta |
Delta bilgilerinin istemciye sunulup sunulmadığını denetler. | yanlış |
eureka.server.retention-time-in-m-s-in-delta-queue |
İstemcilerin değeri kaçırmadan alması için delta bilgilerinin önbelleğe alınması gereken zamanı alın. | 0 |
eureka.server.delta-retention-timer-interval-in-ms |
Temizleme görevinin uyandığı zaman aralığını alın ve süresi dolan delta bilgilerini denetleyin. | 0 |
eureka.server.eviction-interval-timer-in-ms |
Süresi dolan görevin örneklerinin uyanıp çalışması gereken zaman aralığını alın. | 60000 |
eureka.server.sync-when-timestamp-differs |
Zaman damgası farklılık gösterdiğinde örneklerin eşitlenip eşitlenmeyeceğini denetler. | true |
eureka.server.rate-limiter-enabled |
Hız sınırlayıcının etkin mi yoksa devre dışı mı olması gerektiğini gösterir. | yanlış |
eureka.server.rate-limiter-burst-size |
Hız sınırlayıcı, belirteç demet algoritması özelliği. | 10 |
eureka.server.rate-limiter-registry-fetch-average-rate |
Hız sınırlayıcı, belirteç demet algoritması özelliği. Zorlanan ortalama istek oranını belirtir. | 500 |
eureka.server.rate-limiter-privileged-clients |
Sertifikalı istemcilerin listesi. Bu, standart eureka Java istemcilerine ek olarak sağlanır. | Yok |
eureka.server.rate-limiter-throttle-standard-clients |
Hız sınırının standart istemciler olup olmadığını belirtin. False olarak ayarlanırsa, yalnızca standart olmayan istemciler hız sınırına sahiptir. | yanlış |
eureka.server.rate-limiter-full-fetch-average-rate |
Hız sınırlayıcı, belirteç demet algoritması özelliği. Zorlanan ortalama istek oranını belirtir. | 100 |
Ortak yapılandırmalar
- ilgili yapılandırmaları günlüğe kaydetme
- logging.level.*
- logging.group.*
- logging.* ad alanı altındaki diğer tüm yapılandırmalar yasak olmalıdır, örneğin kullanarak günlük dosyaları
logging.file
yazmak yasak olmalıdır.
Uygulamalar arasında arama
Bu örnekte, Spring için Eureka Server bileşenine kayıtlı uygulamalar arasında çağrı yapmak için Java kodu yazma işlemi gösterilmektedir. Kapsayıcı uygulamaları Eureka ile ilişkili olduğunda, Eureka sunucusu aracılığıyla birbirleriyle iletişim kurarlar.
Örnek, çağıran ve çağıran olmak üzere iki uygulama oluşturur. Her iki uygulama da Spring için Eureka Server bileşenini kullanarak birbirleriyle iletişim kurar. Çağıran uygulaması, çağıran uygulama tarafından çağrılan bir uç noktayı kullanıma sunar.
Çağıran uygulamasını oluşturun. Ana sınıfınıza ek açıklama ekleyerek Spring Boot uygulamanızda Eureka istemcisini
@EnableDiscoveryClient
etkinleştirin.@SpringBootApplication @EnableDiscoveryClient public class CalleeApplication { public static void main(String[] args) { SpringApplication.run(CalleeApplication.class, args); } }
Çağıran uygulamasında çağıran uygulaması tarafından çağrılan bir uç nokta oluşturun.
@RestController public class CalleeController { @GetMapping("/call") public String calledByCaller() { return "Hello from Application callee!"; } }
Çağrılan uygulamanın adını uygulama yapılandırma dosyasında ayarlayın. Örneğin, application.yml.
spring.application.name=callee
Çağıran uygulamasını oluşturun.
@EnableDiscoveryClient
Eureka istemci işlevselliğini etkinleştirmek için ek açıklamayı ekleyin. Ayrıca, diğer hizmetlere yük dengeli çağrılar gerçekleştirmek için ek açıklamayla@LoadBalanced
birWebClient.Builder
fasulye oluşturun.@SpringBootApplication @EnableDiscoveryClient public class CallerApplication { public static void main(String[] args) { SpringApplication.run(CallerApplication.class, args); } @Bean @LoadBalanced public WebClient.Builder loadBalancedWebClientBuilder() { return WebClient.builder(); } }
Çağıran uygulamasında çağıran uygulamasını çağıran adlı uygulama adını kullanarak çağırmak için öğesini kullanan
WebClient.Builder
bir denetleyici oluşturun.@RestController public class CallerController { @Autowired private WebClient.Builder webClientBuilder; @GetMapping("/call-callee") public Mono<String> callCallee() { return webClientBuilder.build() .get() .uri("http://callee/call") .retrieve() .bodyToMono(String.class); } }
Artık Spring Java bileşenleri için Eureka Server'ı kullanarak birbirleriyle iletişim kuran bir çağıran ve çağıran uygulamanız var. Çağıran uygulamasında uç noktayı test etmeden önce her iki uygulamanın da çalıştığından /call-callee
emin olun ve Eureka sunucusuna bağlanın.
Sınırlamalar
Eureka Server Java bileşeni,
eureka.server.enable-self-preservation
olarak ayarlanmışfalse
varsayılan bir yapılandırmayla birlikte gelir. Bu varsayılan yapılandırma, kendini koruma etkinleştirildikten sonra örneklerin silinmediği zamanları önlemeye yardımcı olur. Örnekler çok erken silinirse, bazı istekler var olmayan örneklere yönlendirilebilir. Bu ayarı olaraktrue
değiştirmek istiyorsanız, Java bileşeninde kendi yapılandırmalarınızı ayarlayarak bu ayarın üzerine yazabilirsiniz.Eureka sunucusunun tek bir çoğaltması vardır ve ölçeklendirmeyi desteklemez ve eş Eureka sunucu özelliğini kullanılamaz hale getirir.
Eureka panosu kullanılamıyor.