如果您正在构建一个基于云的大型平台,那么您将在该平台内拥有许多不同的模块/组件。这范围从 Web 服务配置(地址、端口等)到您拥有的每个组件的特定于域的配置。可以通过给系统中的每个组件一个令牌化的配置文件来配置这样的系统,然后为整个平台提供一个大的令牌解析文件。这很快就会变得混乱!
我在想也许一种更好的方法可以将整个平台配置集中到一个 Web 服务中,作为平台的中央配置系统,然后系统中的每个组件都会来到这个 Web 服务,并通过提供它们的 id 或唯一的来请求它们的配置设置配置名称。
我什至认为这样的配置必须是类型安全的,以便所有系统组件都明确地引用他们想要的配置而不是键值方式方法。
这个中央配置系统的另一个重要特性应该是能够使配置值依赖于服务器端,这样我就可以说
component1Config.LogServiceAddress = someMasterConfig.Address;
在服务器端。因此,只有中央配置系统知道上述逻辑,而 component1 只是为其 LogServiceAddress 获取一个值,而不知道中央配置系统是如何解决的。
我的问题是,这样的中央配置系统是否已经存在?有没有提供这种中央配置系统功能的开源软件?