跨多个服务器管理配置文件

时间:2013-04-29 19:12:06

标签: ruby-on-rails git configuration configuration-files apache-zookeeper

在多个服务器上运行Rails应用程序(~20),我希望能够从一个位置管理配置文件(主要是* .yml,还有SSL pem / certs文件和其他基于文本),以便任何更改将文件或新文件添加到所有服务器。

我也希望通过git拥有这个内容源控制器。

更新不常见,我希望保持应用程序不受影响,以便立即从文件中读取数据。

有哪些可用的解决方案,Zookeeper是否合适?

2 个答案:

答案 0 :(得分:1)

我没有使用过Zookeeper,但我相信你应该可以使用PuppetChef这样的工具来做你需要的事情。

答案 1 :(得分:0)

我们正在使用ZooKeeper进行实时设置。 一个想法是使用注册表。

假设您有一个名为Arst的组件。

你可以有一些配置 - 比如说这些文件夹下的redis代表不同的实例:

/dbs/redis/0 (host, port, db, password as children)
/dbs/redis/1 (host, port, db, password as children)
/dbs/redis/prod (host, port, db, password as children)

如果你的组件Arst需要使用实例0,你可以拥有这样的注册表:

/arst/redis/0

如果你想添加1,只需添加节点,应用程序中的子监视将为您更新内容而无需重新启动。 虽然这样做并不是很简单,但管理设置对qa这样的团队来说可能是一种痛苦。

所以我也会在控制台上帮忙解决这个问题。我们将公开采购一些零件。