Рубрики
Без рубрики

Настройка сервера конфигурации Spring Cloud

Зачем нам нужен сервер конфигурации Spring cloud? До эры микросервисов мы использовали для создания свойств fi… С тегами spring, java, spring boot, springcloud.

Зачем нам нужен сервер конфигурации Spring cloud? До эры микросервисов мы обычно создавали файлы свойств, в которых сохраняли наши настраиваемые параметры, так что, если мы меняли значения параметров или добавляли или удаляли параметр, нам обычно требовалось перезапустить контейнер приложения. Настройка монолитного приложения обычно довольно проста. Вы либо устанавливаете переменные среды на сервере, на котором будет развернуто приложение, либо вставляете один или несколько файлов свойств вместе с кодом приложения в развертывание. Однако включение конфигурации в ваше развертывание сопряжено с некоторыми трудностями:

  1. Конфигурация может меняться чаще
  2. Конфигурация, возможно, должна быть разной в разных средах
  3. Конфигурация может содержать информацию, доступ к которой ограничен разработчикам приложений (например, пароли).

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

Чтобы устранить эту проблему, сведения о конфигурации в архитектуре микросервиса должны быть централизованы и не переноситься при развертывании каждого отдельного микросервиса. Преимущество централизации заключается в том, что ее можно совместно использовать, развивать и управлять версиями независимо от приложений, которые на нее полагаются. Давайте настроимся

Создайте новый проект с помощью https://start.spring.io/ , импортируйте его в свою ИДЕЮ и добавьте зависимости в pom.xml упомянутый ниже.

Добавьте @EnableConfigServer в основной файл. Spring Cloud Config Server предоставляет API на основе HTTP-ресурсов для внешней настройки. Сервер можно встраивать в приложение Spring Boot с помощью аннотации @EnableConfigServer.

Давайте создадим один микросервис: шлюз. Теперь мы создадим репозиторий git, где мы будем централизовать всю конфигурацию наших микросервисов. у нас будет папка конфигурации в этом репозитории для демонстрационных целей: Теперь в разделе конфигурация мы можем создать несколько конфигурационных файлов yaml для разных сред, таких как gateway-dev.yml, gateway-qa.yml и т.д.

Теперь мы создадим два файла конфигурации, один для среды разработки и один для среды контроля качества в папке src/main/resource.

Мы используем файл конфигурации с префиксом начальной загрузки, потому что он загружается перед другим файлом yml или properties. Вот и все, мы настроили сервер конфигурации spring cloud. Перейдите в браузер. Чтобы убедиться, что сервер конфигурации работает нормально, нажмите url ( http://localhost:8888/{имя службы}/{профиль} )

http://localhost:8888/gateway/dev { “name”:”gateway”, “profiles”:[“dev”], |/”label”:null, “version”:”ea7c7a8b36be3f483c25df24342e0db1ee1486e9″, “state”:null, “PropertySources”:[] }

http://localhost:8888/gateway/qa { “name”:”gateway”, “profiles”:[“qa”], “label”:null, “version”:”ea7c7a8b36be3f483c25df24342e0db1ee1486e9″, “state”:null, “PropertySources”:[] }

Теперь микросервисы должны включать зависимость spring-cloud-starter-config в pom.xml и мы должны указать на службу spring-cloud-server в конфигурационном файле микросервиса.

Вы можете изменить среду вашего микросервиса в любое время, и cloud-config-server предоставит вам всю конфигурацию, соответствующую этой среде.

Спасибо, если вы найдете эту статью полезной, пожалуйста, дайте мне знать, или вы можете задать свои сомнения относительно этой статьи. 🙂

Оригинал: “https://dev.to/ajeetbal/set-up-spring-cloud-config-server-5cbl”