我正在寻找一种工具或一组工具来管理我们的 scala 应用程序堆栈和其他应用程序的配置,例如 lighttpd。
我一直在考虑使用 Apache Zookeeper,但我还没有找到任何看起来像 lighttpd (可能还有其他)模块的东西。我也考虑过使用例如 Puppet,但它似乎没有太多的 Zookeeper 模块。
从本质上讲,我想要实现的是拥有一项服务来保持配置并且我可以动态重新配置,并且可以传播到所有服务,包括 JVM 内外。
我正在寻找一种工具或一组工具来管理我们的 scala 应用程序堆栈和其他应用程序的配置,例如 lighttpd。
我一直在考虑使用 Apache Zookeeper,但我还没有找到任何看起来像 lighttpd (可能还有其他)模块的东西。我也考虑过使用例如 Puppet,但它似乎没有太多的 Zookeeper 模块。
从本质上讲,我想要实现的是拥有一项服务来保持配置并且我可以动态重新配置,并且可以传播到所有服务,包括 JVM 内外。
老实说,选择一个开源配置管理系统。最近出现但未在 Wiki 上列出的一个有趣的选择是ANSIBLE。
此外,您的问题可能是编排问题之一,在这种情况下,像 Chef's Knife、Capistrano、Fabric或MCollective这样的工具更合适。
当然,你甚至可能两者都想要。
最好的选择是用您熟悉的语言编写的。我不知道任何用 Scala 编写的东西,尽管这篇博文很有趣。对于程序员来说,Chef具有很大的吸引力,并且可以很好地处理非常动态的配置。我知道有人使用它来按需创建/销毁 VM 实例,具体取决于应用程序负载——用 Puppet 试试,你会哭的。
我喜欢Puppet 的声明式配置风格,特别是它使您远离操作系统差异的事实。对 Puppet 来说,一个包就是一个包,无论你使用什么操作系统。
至于“动物园管理员模块”……您可能会在网上找到这些工具的好食谱/模块,但您最好准备好编写自己的。不要根据一个特定模块的存在来选择——根据你编写它们的舒适程度来选择。