12 конфигураций приложений и Java

Я читал манифест приложения с 12 факторами http://12factor.net/. В манифесте рекомендуется хранить данные конфигурации для приложения в переменных Enviornment. Означает ли это, что свойства, такие как имя пользователя/пароль БД, URL-адрес ресурса должны храниться как часть переменных Java Env, а не как файлы свойств? Является ли это безопасным способом хранения информации? Для меня это кажется довольно неуклюжим способом хранения информации. Есть ли какие-либо передовые методы/опыт вокруг этого, которые могут быть разделены?

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

8
задан mithrandir 15 авг. '14 в 19:57
источник поделиться
2 ответов

12 приложений-факторов предназначены для работы на платформах, которые организуют изолированные процессы UNIX. Процессы UNIX настраиваются через переменные среды. Хотя файлы свойств являются хорошо установленным соглашением Java, процессы UNIX являются агностическим способом настройки процессов.

Для поддержки нескольких методов настройки лучше всего использовать:

  • Чтение из среды процесса с помощью System.getenv('CONFIG'), если null
  • Чтение из файла свойств с помощью properties.getProperty('CONFIG'), если null
  • Возвратитесь к значению по умолчанию

Подробнее см. инструкции Heroku на определение конфигурационных vars для приложений Java.

3
ответ дан gabrtv 26 нояб. '14 в 5:38
источник поделиться

Мы можем использовать Spring централизованную конфигурацию для этого, используя централизованную конфигурацию, мы можем зафиксировать конфигурацию всех наших проектов в одном репозитории, а позже при написании сценариев сборки мы можем переопределить нашу локальную конфигурацию из этого репозитория, чтобы использовать эту централизованная конфигурация.

Нажимая на ссылку ниже, вы найдете руководство по началу работы для этого

https://spring.io/guides/gs/centralized-configuration/

0
ответ дан Naresh Joshi 12 окт. '16 в 9:01
источник поделиться

Другие вопросы по меткам