配置中心的必要性:
在集中式(与分布式对应)的应用中,一般配置文件的形式对配置进行管理就足够了,节点少,常见的主备、热备形式中配置管理通常不是很大的问题。但在互联网时代,为了支持极高的并发量,保证系统运转的健壮性,减少模块间的耦合,大部分都是分布式,或者以流行的描述--微服务,系统中集成了大量的单体服务,分布在大量的节点,在乐观状态(所有节点都正常运转)下,如果进行配置管理,每台逐一进行修改,并可能进行服务重启的操作室不可行的。实际生产中需要统一的对配置进行管理,以减少操作复杂度,提升复杂分布式应用的灵活性。
配置中心设计主要因子:
配置中心是一个web系统,具备普通系统的基本功能,同时又具有作为配置中心配置业务的特有功能。配置中心以页面的形式提供用户接口。一般配置中心会就静态配置管理、动态配置管理、统一管理、多维度管理、变更管理、本地配置缓存、配置缓存更新策略、配置锁、配置校验、配置生效时间、配置更新推送、配置定时拉取、用户权限管理、授权、审核、审计、配置版本管理、配置合规监测、实例配置监控、灰度发布、告警通知、统计报表、依赖关系等功能进行实现。
配置中心应用提供开放式API,与系统的具体的业务是无关的,其接口一般是推送与拉取结合的形式。