Я работаю над проектом, в котором мы используем Spring Cloud Config Server with Vault backend, и я не знаю, зачем нам нужен облачный сервер конфигурации. Прежде чем я попытаюсь перенести это на более простую реализацию с помощью Spring Cloud Vault, я хочу знать, есть ли причина, по которой я бы оставил Spring Cloud Config with Vault.
Я знаю, что уже есть похожий вопрос, но он не отвечает, почему мы должны использовать один над другим: Разница между Spring Cloud Vault и Spring Cloud Config с серверной частью Vault
Это больше похоже на длинный комментарий, чем на конкретный ответ, поскольку я думаю, что этот вопрос немного не по теме, поскольку он выглядит как вопрос, основанный на мнении.
Spring Cloud Vault — это зависимость maven от вашего проекта, например: org.springframework.cloud spring-cloud-starter-vault-config
С приведенной выше зависимостью вам нужно просто создать bootstrap.yml (или .properties) со свойствами хранилища в вашем проекте, и он будет подключаться к хранилищу. Итак, если у вас есть одно загрузочное приложение Spring, ваш бэкэнд будет выглядеть так:
[yourApp:8080] --> [vault:8200]
С другой стороны, если вы используете Spring Cloud Config с хранилищем, то на самом деле у вас есть два отдельных приложения загрузки Spring (скажем, микросервисы), а также хранилище, поэтому у вас будет:
[yourApp:8080] --> [cloudConfig:8888] --> [vault:8200]
Кроме того, несмотря на то, что вы можете использовать Spring Cloud Vault вместо Spring Cloud Config для извлечения свойств, хранилище предназначено для хранения секретов (конфиденциальной информации, учетных данных и т. д.), поэтому Spring Cloud Vault поможет вам подключить ваше приложение к хранилищу. Сервер Spring Cloud Config ориентирован на централизацию хранилища свойств приложений, он также предоставляет несколько конечных точек для получения этих свойств и многие другие функции, которые помогают в архитектуре микросервисов.
@ Дэни, у них разные цели. Целью Spring Cloud Config является централизованная конфигурация для распределенной системы, где Vault является секретным хранилищем. Spring Cloud Vault поможет вам извлечь секреты из хранилища.
Ааа, значит, Spring Cloud Config позволяет мне консолидировать конфигурации из нескольких источников (включая хранилище), тогда как Spring Cloud Vault ограничивает мои конфигурации поддержкой только хранилища?
@ Дэни правильно. Цель Spring Cloud Config — централизовать все настройки микросервисов, а цель Spring Cloud Vault — хранить секреты.
Однако Vault можно использовать для хранения несекретных данных (общих данных конфигурации), и тогда остается вопрос, имеет ли преимущество дополнительный сервер Spring Cloud Config.
Вопрос не должен был исходить из ожидания мнения в качестве ответа. Я спрашиваю, есть ли законная техническая причина и сценарий, в котором
Spring Cloud ConfigпревосходитSpring Cloud Vault.