配置优先级-最佳实践

问题描述 投票:0回答:1

创建具有某些配置的新应用程序时。 配置可以存在于以下位置之一

  • 环境变量
  • 配置文件
  • 命令行
  • 默认

问题是他们之间的优先级是什么? 例如,如果我从命令行传递配置,它将覆盖该配置的配置文件值

architecture devops software-design
1个回答
5
投票

所以对我来说优先级是从高到低的顺序:

命令行(覆盖下面的所有内容)、环境变量、配置文件和默认值。

一般来说,命令行参数应该能够覆盖所有配置值。

环境变量应该能够覆盖配置文件值,但不能覆盖命令行参数。如果您想使用环境变量覆盖配置文件值,则: X=3 覆盖配置文件值 X=1,然后应通过命令行完成 X=2。

我认为这是管理这种层次结构最灵活的方式。

© www.soinside.com 2019 - 2024. All rights reserved.