后台:我正在使用一个应用程序套件,它同时构成连接的(客户端 - 服务器)和已断开连接的(基于消息的服务) sub系统。套件中的每个子系统都有自己的配置文件。截至目前,这些配置在应用程序目录中单独维护。
关注:由于我们要求它们是动态的,这些配置文件的维护失控(我们应该能够切换/更新配置条目是要求的一部分)在特定时间/周/月调整系统行为)
问题:有没有更好的方法或经过验证的做法来整合配置,以便在不失去所需的动态性质的情况下实现更好的可管理性。
到目前为止已经尝试过:
以下是我们迄今为止尝试过的解决方案列表(我们在Srl 4)。不确定这是否是我们可以解决问题的最佳方法。
解释了应用程序特定的本地配置。这有效 但是无法解决所列的任何问题。
配置存储在数据库中并加载到应用程序中 内存中的对象。这解决了整合问题。但需要重新启动单个系统以在发生更改时获取最新的配置值。
我们无法重新启动服务(在Srl 2下列出的问题),因此实施了一项策略,该策略每2分钟刷新一次内存中的对象。这很好,但无论是否有任何更改,轮询程序都会每2分钟继续刷新缓存。
为了避免不必要的轮询(Srl 3中列出的问题),我们实施了配置版本控制。如果配置没有变化,这有助于我们避免刷新数据。