关于配置中心设计的思考

如今配置繁杂导致运维成本加剧,我结合开发中遇到的一些问题,思考了一个完善的配置中心至少应该具备一些必要的功能,以达到配置可查,可改。

必要的功能我认为应该有以下几点:

1. 配置项全量注册

这一点需要使用配置的端遵守这一约定,避免出现“不知道有多少配置,不知道哪些配置有效”等问题。使开发,运维等相关人员能看到配置的全部,做到心有有数。

2. 区分热配置,冷配置

一个配置是否允许是热修改,即修改后应用不用重启即可生效。在配置中心应该能区分出来,当然这同样需要客户端遵守约定去配置中心注册。

3. 可监控各客户端的当前配置状态,查看其是否同步

能做到监控具体的某一个客户端当前的配置状态,即查看其配置视图(即客户端当前看到的配置视图)。

4. 支持配置分类

可通过业务,标签等对配置进行分类,方便管理。

5. 支持配置加密,认证等安全策略

有些配置有安全性要求,如数据库密码等,此时需要增加一些安全机制。具体场景具体分析。

暂时想到以上,留作以后补充。

评论