概述
当系统变的复杂,配置项越来越多,一方面配置管理变得繁琐,另一方面配置修改后需要重新上线同样十分痛苦。这时候,需要有一套集中化配置管理系统,一方面提供统一的配置管理,另一方面提供配置变更的自动下发,及时生效。
说道统一配置管理系统,大家应该比较熟悉,常见的:zookeeper、etcd、consul、git等等。
上述的集中配置中心使用的时候,部署图大致是这样的:
server端只需要调用config-server对应客户端获取配置,和监听配置变更就可以了。总体来说没有太大难度。
接下来要说一下confd,它提供了一种新的集成思路。confd的存在有点类似于快递员,买了东西不需要自己到店去取货了,confd这个快递员回把货取过来,然后送到家里,并且通知你货已经送到了。加入confd之后的架构大致是这样的:
confd是如何工作的
confd使用时有几个概念需要熟悉,并且熟悉他们之间的依赖关系,才能理解如何配置confd,不然会比较懵。这里我们先看一下confd配置的几个概念之间是如何交互的: