Config Server: хранение конфигурации во внешнем сервисе
В этом уроке мы внедрим в систему наших микросервисов возможность хранить конфигурации во внешнем сервисе. Это будет соответствовать третьему принципу «12-факторного приложения» - хранение конфигурации отдельно от кода.
Доработка функционала всех микросервисов будет происходить на основе кода предыдущих уроков, который вы закоммитили в ветки master соответствующих репозиториев.
Согласно тем же 12 принципам, сборка (build) приложения должна быть неизменяема и одна на все среды (dev, staging, prod и т.д.). При этом для каждой среды могут потребоваться свои конфигурации приложения, как то: настройки серверов, адреса внешних систем, логины, пароли, настройки CircuitBreaker-а и др. Сборка, объединенная со специфичными для определенной среды конфигурациями, образует релиз приложения. В случае изменения каких-либо конфигураций не потребуется производить новую сборку проекта, чтобы сформировать очередной релиз.Spring Cloud Config
- Spring Environment
- Spring Cloud Config
- Config Server Git-репозиторий
Развертываем Spring Cloud Config Server
- Микросервис Config Server
- Собираем образ Docker
Настраиваем Spring Cloud Config Client в микросервисах
- Конфигурируем Menu Service
- Контейнеризируем Menu Service для prod-среды
- Домашнее задание: добавляем Config Client к остальным микросервисам
Занятие 6: Интеграция с Kafka I