2

如果您正在构建一个基于云的大型平台,那么您将在该平台内拥有许多不同的模块/组件。这范围从 Web 服务配置(地址、端口等)到您拥有的每个组件的特定于域的配置。可以通过给系统中的每个组件一个令牌化的配置文件来配置这样的系统,然后为整个平台提供一个大的令牌解析文件。这很快就会变得混乱!

我在想也许一种更好的方法可以将整个平台配置集中到一个 Web 服务中,作为平台的中央配置系统,然后系统中的每个组件都会来到这个 Web 服务,并通过提供它们的 id 或唯一的来请求它们的配置设置配置名称。

我什至认为这样的配置必须是类型安全的,以便所有系统组件都明确地引用他们想要的配置而不是键值方式方法。

这个中央配置系统的另一个重要特性应该是能够使配置值依赖于服务器端,这样我就可以说

component1Config.LogServiceAddress = someMasterConfig.Address;

在服务器端。因此,只有中央配置系统知道上述逻辑,而 component1 只是为其 LogServiceAddress 获取一个值,而不知道中央配置系统是如何解决的。

我的问题是,这样的中央配置系统是否已经存在?有没有提供这种中央配置系统功能的开源软件?

4

2 回答 2

1

Chef/Puppet 是在各种机器上集中配置多个堆栈的标准方法。中央服务器可以启动远程节点,然后在该机器上推送所需的堆栈。虽然我已经看到使用相同的软件来配置软件,但我认为它可以很好地扩展以满足您的需求!

于 2012-08-13T21:19:53.740 回答
0

WCF 发现概述

创建一个服务,当一个服务宣布时,它会添加到服务列表中。使用元数据来提供配置设置等。

公平地说,还有需要 bonjour(apple)的Mono.Zeroconf 。

于 2012-08-08T19:56:17.097 回答