如果您正在构建一个大型的基于云的平台,那么在该平台中将有许多不同的模块/组件。这包括web服务配置(地址、端口等)您拥有的每个组件的特定于域的配置。可以通过为系统中的每个组件提供一个分词化的配置文件,然后为整个平台提供一个大的分词解析文件来配置这样的系统。这很快就会变得一团糟!
我在想,也许更好的方法是将整个平台配置集中到web服务中,作为平台的中央配置系统,然后系统中的每个组件都会访问这个web服务,并通过提供它们的id或唯一的配置名称来请求它们的配置设置。
我甚至认为这样的配置必须是类型安全的,这样所有系统组件才能显式地引用它们所需的配置,而不是使用键值方式。
这个中央配置系统的另一个重要特性应该是能够使配置值依赖于服务器端,因此我可以这样说
component1Config.LogServiceAddress = someMasterConfig.Address;
在服务器端。因此,只有中央配置系统知道上面的逻辑,而component1只是获取其LogServiceAddress的值,而不知道中央配置系统是如何解决这个问题的。
我的问题是,这样的中央配置系统已经存在了吗?有没有开放源码软件提供这样的集中配置系统功能?
发布于 2012-08-14 05:19:54
Chef/Puppet是在不同机器上集中配置多个堆栈的标准方法。中央服务器可以启动远程节点,然后在该机器上推送所需的堆栈。虽然我已经看到使用相同的配置软件,但我认为它可以很好地扩展,以满足您的需求!
发布于 2012-08-09 03:56:17
WCF Discovery Overview
创建一个服务,当一个服务宣布时,它会添加到服务列表中。使用元数据来提供配置设置等。
公平地说,Mono.Zeroconf也需要bonjour(苹果)。
https://stackoverflow.com/questions/11872105
复制相似问题