Сценарий мне особенно интересно, является несколькими серверами, имеющими демонов, которые работают на определенных параметрах конфигурации. (так как, это - осуществление изучения. я приветствую какую-либо мысль вне этого конкретного случая), вопрос, где параметры конфигурации должны находиться.
A. центральная таблица базы данных
B. файл конфигурации, продвинутый к каждому из полей
Они наиболее распространены, я столкнулся. Так как известные другие, в кодовых константах (должен перекомпилировать для развертывания. так плохая опция, если они действительно не константы), файл конфигурации, смонтированный на общем ресурсе.
Просто требуемый для знания от сообщества о том, как Вы идете о совершении выбора.
Все зависит от масштаба операции, которой вы управляете.
Если количество мест велико и / или изменения происходят часто, используйте базу данных.
В противном случае используйте файлы конфигурации.
Если доступ к централизованной базе данных слишком медленный или неприемлемо является точкой отказа, но масштаб все еще велик, используйте автоматизированную систему, такую как Puppet.
. Большинство компаний, которым необходимо совместно использовать параметры конфигурации между серверами / приложениями, в конечном итоге создают свои собственные механизмы конфигурации и сохраняют их во встроенном хранилище. реляционная база данных. Я бы сказал, что масштаб даже не имеет значения. Необходимость входа на несколько серверов для проверки конфигурации файловой системы - это кошмар. Однако даже при управлении конфигурацией в центральной базе данных вы все равно должны убедиться, что конфигурация легкодоступна. Я видел, как этот тип конфигурации использовался в трех разных компаниях, и единственное место, где он использовался действительно успешно, - это приложение, предоставляющее простой пользовательский интерфейс, позволяющий системным администраторам настраивать параметры. Если он доступен только с помощью клиента SQL, вы обнаружите, что конфигурации легко «потеряются» или, что еще хуже, будут дублироваться.
Вышеупомянутый плакат упоминал Puppet, который я никогда не использовал, но он выглядит ОЧЕНЬ интересно. Однако пока не похоже, что он поддерживает Windows [1]: http://www.puppetlabs.com/puppet/requirements/
Если свойства конфигурации могут быть обновлены во время выполнения, то централизация свойств в БД упростит жизнь.