Сервер Spring Cloud Config с Zookeeper или HashiCorp Vault Backend
Мой вопрос касается использования Zookeeper или Hashicorp Vault в качестве внутреннего хранилища данных для Spring Cloud Config Server.
В настоящее время мы используем несколько микро-сервисов Spring Boot, которые используют Spring Config Server для обслуживания конфигурации каждого сервиса. Это хорошо работает, и у нас нет проблем с этим.
Первоначально сервер конфигурации работал на собственном профиле и имел файлы конфигурации, встроенные в приложение. Это не работает, так как каждый раз, когда мы вносим изменения в конфигурацию любого из приложений, необходимых для повторного развертывания config-server.
Использование GIT, очевидно, более надежно, и мы переходили на автономный бэкэнд GIT, когда нас попросили использовать Zookeeper или Vault.
В связи с этим возникает вопрос: возможно ли вообще использовать Vault/Zookeeper в качестве внутреннего хранилища данных для Config Server, при этом не требуется, чтобы каждое приложение напрямую взаимодействовало с Vault/Zookeeper?
Спасибо
2 ответа
Да, можно использовать другой бэкэнд (например, Vault или SVN, называемый EnvironmentRepository
) в Spring Cloud Config, не касаясь ваших клиентов.
Смотрите справочные документы для более подробной информации.
Чтобы обновить это:
Вместо этого мы отключили бэкэнд Zookeeper для Consul, так как мы могли использовать SSL для соединения между Vault и Consul. В настоящее время это недоступно при использовании Zookeeper в качестве бэкэнда хранилища.
Теперь у нас есть рабочий стек конфигурации, включающий в себя Consul, Vault и Spring Cloud Config Server с включенным протоколом SSL между всеми тремя. Кроме того, Consul и Vault работают в кластерном режиме с репликацией между всеми узлами в кластере.
Работает пока хорошо.