配置文件与数据库表

时间:2010-07-06 22:32:06

标签: database-design configuration-files

我特别感兴趣的场景是具有在某些配置参数上运行的守护进程的多个服务器。 (因为,这是一个学习练习。我欢迎任何超出这个特殊情况的想法) 问题是,配置参数应该放在哪里。

一个。中央数据库表

B中。配置文件推送到每个框

这些是我遇到的最常见的。值得注意的是,在代码常量中(需要重新编译才能部署。除非它们确实是常量,所以选项不好),配置文件安装在共享位置。

只是想从社区了解你如何做出选择。

3 个答案:

答案 0 :(得分:6)

这一切都取决于您所管理的业务规模。

如果位置数量很大和/或频繁更改,请使用数据库。

否则,请使用配置文件。

如果对集中式数据库的访问速度太慢或不可接受是一个失败点,但规模仍然很大,请使用像Puppet这样的自动化系统。

答案 1 :(得分:1)

大多数需要在服务器/应用程序之间共享配置参数的公司最终会创建自己的配置机制并将它们存储在自动滚动的关系数据库中。我认为规模甚至不重要。必须登录多个服务器才能检查文件系统上的配置是一场噩梦。但是,即使在中央数据库中管理配置,您仍然必须确保配置易于访问。我已经看到这种配置在3家不同的公司使用,并且它是以真正成功的方式使用的唯一地方,是应用程序公开了一个简单的用户界面,允许系统管理员调整设置。如果它只能通过使用SQL客户端访问,您会发现配置很容易“丢失”或更糟,重复。

上面的海报提到了Puppet,我从未使用过,但它看起来非常有趣。但是它看起来还不像Windows支持[1]:http://www.puppetlabs.com/puppet/requirements/

答案 2 :(得分:1)

如果可以在运行时更新配置属性,则在DB中集中属性将使生活更轻松。