Configuration 将集中式配置添加到我们的服务器

Configuration 将集中式配置添加到我们的服务器,configuration,distributed,Configuration,Distributed,随着我们的系统的发展,服务器和服务越来越多(不同类型和同一类型的多个实例需要轻微的配置更改)。我们正在寻找“cetralized configuration”解决方案,最好是现有的,不需要从scrtach开发任何东西。 这个想法类似于,服务升级,它知道一段数据(其类型+位置+版本+服务ID或类似内容),并联系一些中央服务,这些服务将为它提供适当的配置(文件、对象或其他)。 如果联机的服务找不到配置服务,它将使用缓存的配置或拒绝初始化(行为可能应该在启动参数中指定,该参数是从使其联机的人或任何人处

随着我们的系统的发展,服务器和服务越来越多(不同类型和同一类型的多个实例需要轻微的配置更改)。我们正在寻找“cetralized configuration”解决方案,最好是现有的,不需要从scrtach开发任何东西。 这个想法类似于,服务升级,它知道一段数据(其类型+位置+版本+服务ID或类似内容),并联系一些中央服务,这些服务将为它提供适当的配置(文件、对象或其他)。 如果联机的服务找不到配置服务,它将使用缓存的配置或拒绝初始化(行为可能应该在启动参数中指定,该参数是从使其联机的人或任何人处获取的) 配置服务应该是高可用的,即服务器集群(ZooKeeper听起来像是一个完美的候选者) 服务最好支持继承的概念,允许服务类型的全局配置文件,然后根据其ID为每个服务实例指定覆盖或扩展。此外,它还应支持类似配置版本控制的内容,允许为不同版本保留相同服务类型的不同配置,因为我们希望更多地依赖于服务的并行部署。 等式的另一方面是,有一个配置管理工具连接到同一个集中式配置服务,可以根据上述要求检查和更新所有配置

我知道,如果我将核心需求从serivce拉配置数据修改为将数据推送到它,我可以使用puppet或chef之类的工具来管理一切。老实说,我对这两个系统几乎没有经验(我们的IT团队有更多),但从我的调查中,我可以说,它们似乎不是这项工作的合适工具


有没有人集成过与我上面描述的系统类似的系统?

我只有使用国产解决方案的经验,因此我的回答可能无法解决您的问题,但可能会帮助其他人。我们已经成功地利用web服务器和SVN机器人进行配置管理。此解决方案并不意味着您必须“从头开始开发”,但也不是一个交钥匙解决方案

我们有多个web服务器,每个服务器都从SVN存储库中以每分钟同步的方式刷新其配置。客户端将使用HTTP参数的
/type=…&location=…&version=…
类型向服务器发出请求。当需要自定义配置时,可以在视图中使用这些值。我们对正在现场重新加载的SpringXML文件和标准的
field=value
属性文件都这样做了

我们的系统是pull-only,尽管我们可以在必要时通过JMX触发pull

希望这能有所帮助。

(我是其中的维护人员)可以为您提供您正在寻找的大多数现成功能,我怀疑您可以轻松地在其上构建其余功能

阅读“入门”手册的第2章和第3章,了解Config4*的功能(别担心,它们只是很短的章节)。这样做可以帮助您决定Config4*如何满足您的需求

您可以在网站主页末尾附近找到手册的PDF和HTML版本的链接