关于配置中心设计的思考
如今配置繁杂导致运维成本加剧,我结合开发中遇到的一些问题,思考了一个完善的配置中心至少应该具备一些必要的功能,以达到配置可查,可改。
必要的功能我认为应该有以下几点:
1. 配置项全量注册
这一点需要使用配置的端遵守这一约定,避免出现“不知道有多少配置,不知道哪些配置有效”等问题。使开发,运维等相关人员能看到配置的全部,做到心有有数。
2. 区分热配置,冷配置
一个配置是否允许是热修改,即修改后应用不用重启即可生效。在配置中心应该能区分出来,当然这同样需要客户端遵守约定去配置中心注册。
3. 可监控各客户端的当前配置状态,查看其是否同步
能做到监控具体的某一个客户端当前的配置状态,即查看其配置视图(即客户端当前看到的配置视图)。
4. 支持配置分类
可通过业务,标签等对配置进行分类,方便管理。
5. 支持配置加密,认证等安全策略
有些配置有安全性要求,如数据库密码等,此时需要增加一些安全机制。具体场景具体分析。
暂时想到以上,留作以后补充。