Использование HashiCorp Consul как хранилище конфигурации. Часть 2
Ну что же, как я писал в первой части, мы подключили HashiCorp Consul в качестве Service Discovery. Теперь же подключим Key/Value хранилище Consul для нашего приложения, для замены Spring Cloud Config.
Для этого нам потребуется отдельный стартер
implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-consul-config'
После того, как мы его добавили, у нас добавится автоконфигурация для работы с конфигурацией через Consul в нашем application.yaml.
Для того, чтобы наше приложение заработало, нам нужно:
- Подключить загрузку из Consul
- Подключить сам Consul
Для этого прописываем необходимые настройки:
spring:
application:
name: check-consul
config:
import: "consul://localhost:8500"
cloud:
consul:
config:
enabled: true
При старте приложения оно сначала будет ломиться по хосту Consul’а и пытаться грузить оттуда конфигурацию
По умолчанию конфигурация ищется в папке config/
Дальше поиск идёт по следующей части: (application)|(${spring.application.name})[,profile1,profile2]/your.property.name
То есть валидными будут свойства:
config/application/server.port – для всех, по умолчанию
config/application,develop/server.port – для всех, но для профиля develop
config/check-consul/server.port – для приложения с именем check-consul
Добавим отдельный порт для нашего приложения:
И запустим наше приложение:
Как видно из изображения, spring boot приложение успешно прочитало настройку для порта из Consul
Последние комменатрии