Динамическое управление конфигурацией
Я ищу инструмент или набор инструментов для управления конфигурацией как для нашего стека приложений Scala, так и для других приложений, например, lighttpd.
Я думал об использовании Apache Zookeeper, но я не нашел ничего похожего на модуль для lighttpd (и, возможно, других). Я также подумал об использовании, например, Puppet, но, похоже, для него не так много модулей Zookeeper.
По сути, я пытаюсь добиться того, чтобы у меня был один сервис, сохраняющий конфигурацию, и который я мог бы динамически переконфигурировать и который распространялся бы на все сервисы, как на JVM, так и за его пределами.
1 ответ
Честно говоря, выберите одну из систем управления конфигурацией с открытым исходным кодом. Один интересный выбор, который недавно появился и не указан в вики, - ДЕЙСТВИТЕЛЬНЫЙ.
Кроме того, ваша проблема может быть связана с оркестровкой, в таком случае более подходящими являются инструменты, такие как Chef's Knife, Capistrano, Fabric или MCollective.
Конечно, может быть, вы захотите и того и другого.
Лучшим выбором будет тот, который написан на языке, с которым вы знакомы. Я не знаю ни одного написанного на Scala, хотя этот пост интересен. Для программистов Chef очень привлекателен и хорошо справляется с очень динамическими конфигурациями. Я знаю кого-то, кто использует его для создания / уничтожения экземпляров виртуальных машин по требованию, в зависимости от загрузки приложения - попробуйте это с Puppet, и вы будете плакать.
Мне нравится декларативный стиль конфигурации Puppet и, в частности, тот факт, что он сильно изолирует вас от различий в операционной системе. Для Puppet пакет - это пакет, независимо от того, какую операционную систему вы используете.
Что касается "модуля Zookeeper"... вы можете найти хорошие рецепты / модули для этих инструментов в Интернете, но вам лучше подготовиться к написанию своих собственных. Не выбирайте исходя из наличия одного конкретного модуля - выбирайте исходя из того, насколько комфортно вы их пишете.