Эврика множественная зона по умолчанию, CloudConfig и аннотация @Value

#spring-boot #microservices #netflix-eureka #spring-cloud-config #service-discovery

Вопрос:

Я использую Spring Boot 2.4.4 и spring-cloud-starter-netflix-eureka-клиент 3.0.2.

В своем коде я использую некоторые свойства @Value и @ConfigurationProperties, не указывая значения по умолчанию, для привязки свойств и методов из файла конфигурации, который необходимо извлечь из сервера конфигурации.

На следующем рисунке представлено представление моих экземпляров.

введите описание изображения здесь

Я регистрирую два экземпляра сервера Eureka (spring-cloud-starter-netflix-eureka-server 3.0.2), один на порту 8081, а другой на порту 8082.

Загрузочная страница моего MyMicroService содержит оба URL-адреса в качестве зоны по умолчанию, дело в том, что всякий раз, когда запускается и запускается первая Эврика, все работает нормально: обе Эврики показывают, что микросервис зарегистрирован, ms может восстановить конфигурацию с сервера конфигурации (также полученную из Эврики). Когда первая Эврика отключена, микросервис пытается подключиться к ней, затем происходит сбой, и возникает ОШИБКА, поскольку он не может разрешить заполнитель (внутри аннотации @Value), а затем останавливается, не пытаясь использовать другой URL-адрес Эврики (8082).

введите описание изображения здесь

Я нахожу странным, что он пытается запустить микросервис, прежде чем пробовать все URL-адреса Eureka defaultZone. Я что-то упускаю?

Кроме того, я не могу указать значения по умолчанию для этих свойств, и в другом микросервисе, без аннотаций, он работает, пытается подключиться к 8081, терпит неудачу, а затем пытается 8082.

Существует ли конфигурация, в которой указано, что нужно попробовать все зоны по умолчанию, прежде чем пытаться оценить аннотации @Value и @ConfigurationProperties?