architecture - 配置优先级 - 最佳实践

标签 architecture devops software-design

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

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

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

最佳答案

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

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

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

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

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

关于architecture - 配置优先级 - 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56019326/

相关文章:

testing - 如何计算ab测试样本量

web-services - 服务可以在其代码中调用另一个服务吗?

devops - AWS Aurora 无服务器 (MySQL) 与 AWS QuickSight

c# - 在 Azure DevOps Repos 上拆分大型软件项目

amazon-web-services - CloudFormation 响应对象超时

java - java.util.regex.Pattern 和 java.util.regex.Matcher 的设计有什么好处?

wpf - MVVM 模式是否被破坏?

java - 生产者/消费者 : no producer/consumer should block other producer/consumer

c++ - 线程数之间的事件c++

android - 在 Android 中使用 Fragments 而不是 Views 有什么好处?