知识卡片

三种配置策略的选型依据

专业/工作 · 520.b

内容

配置数据不是只有一种存放方式,三种策略各自适配不同性质的数据:随应用打包的属性文件适合定义面向开发环境的合理默认值,本质上也是”这个应用支持哪些配置项”的一份说明书;环境变量所有操作系统都支持、可移植性最好,适合存依赖基础设施/平台的数据(active profile、主机名、端口号);专门的配置服务适合存需要持久化、审计、加密、能追溯变更历史的应用级数据(连接池参数、凭证、feature flag、第三方服务地址)。三者不是互斥关系,实践里通常同时用——用哪种取决于这份数据本身的性质,而不是图省事全用一种。发散:判断标准可以简化成一句话——这个配置值会不会随环境变化?会不会是敏感信息?需不需要有变更记录?答案不同,落脚点也该不同,硬要用一种方式打天下反而是偷懒。

参考来源

《Cloud Native Spring in Action》第4章《Externalized configuration management》