当前的微服务环境中,配置项都不是硬编码到代码中的,需要通过外部文件或者参数的方式来实现可动态调整的配置,目前主要有以下几种方式来管理:
● 数据库:部分开发会将配置写在数据库中,定期读取和应用
● 环境变量:这种是云原生环境中很常用的一种方式,通过在容器启动时对全局环境变量赋值的方式来完成
● 命令行参数:通过Pod的args或者docker容器的CMD来实现启动参数调整
● configmap:K8S集群中独有配置管理方案
● 存储卷:将公共配置放在共享存储中,然后容器启动时挂载配置文件,不建议使用
● 第三方配置中心:如 Apollo、XDiamond、Qconf等,这类配置中心操作根据方便