6

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

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

更新不频繁,我想保持应用程序不变,以便从文件中读取数据,就像现在一样。

有什么可用的解决方案,Zookeeper 适合吗?

4

2 回答 2

1

我没有使用过 Zookeeper,但我相信您应该能够使用PuppetChef之类的工具来做您需要的事情。

于 2013-04-30T22:22:22.843 回答
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 这样的团队来说可能是一件痛苦的事情。

所以我也会在控制台上帮助解决这个问题。我们将开源一些部分。

于 2013-06-05T15:22:52.883 回答