我正在寻找一个或一组工具来管理我们的 scala 应用程序堆栈和其他应用程序的配置,例如lighttpd。
我一直在考虑使用 Apache Zookeeper,但我还没有找到任何看起来像 lighttpd(可能还有其他)的模块。我也考虑过使用 Puppet,但似乎没有太多的 Zookeeper 模块。
从本质上讲,我想要实现的目标是拥有一项可以保留配置的服务,并且我可以动态重新配置该服务,并将其传播到 JVM 内外的所有服务。
最佳答案
老实说,选择 Open Source Configuration Management Systems 之一。最近出现但未在 Wiki 上列出的一个有趣的选择是 ANSIBLE .
此外,您的问题可能是编排问题之一,在这种情况下,像 Chef 的 Knife 这样的工具, Capistrano , Fabric或MCollective比较充足。
当然,您甚至可能两者都想要。
最好的选择是用您熟悉的语言编写的。不过,我不知道有任何用 Scala 编写的 this blog post很有趣。对于程序员来说,Chef具有很大的吸引力,并且可以很好地处理非常动态的配置。我知道有人使用它根据应用程序负载按需创建/销毁 VM 实例 - 尝试使用 Puppet,您会哭的。
我喜欢Puppet's声明式配置风格,特别是它使您与操作系统差异很大程度上隔离。对于 Puppet 来说,包就是包,无论您使用什么操作系统。
至于“Zookeeper 模块”...您可能会在网上找到这些工具的良好配方/模块,但您最好准备好编写自己的。不要根据某个特定模块的存在来选择——根据您编写它们的舒适程度来选择。
关于java - 动态配置管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10907767/