# 3 启动参数

# 3.1 介绍

启动参数主要用于应用启动的必要参数,或者根据不同环境选择的的不同参数。 典型的场景例如:

  • --help 查看帮助文档
  • --version 查看应用版本
  • --config 查看应用的启动配置(必要参数,根据环境变化的参数)
  • --host 选择应用的主机IP(根据环境变化的参数)

# 3.2 最佳实践--统一启动参数

因为命令行参数通常是研发人员来指定,但每个项目都指定大量的启动参数,是一个很繁琐的事情。

我们通常会将公用的配置,例如环境、Region、Zone、配置路径、启动IP等信息,通过基础设施,统一设置成环境变量,精简研发人员的启动参数。

同时我们可以通过环境变量设置一个公司的研发规范。例如配置在dev环境使用dev.tomlprod环境使用prod.toml

# 3.3 最佳实践--常用微服务启动参数

这里列出了常用微服务的启动参数

命令行参数 环境变量 默认参数 描述
config EGO_CONFIG_PATH config/local.toml 配置路径
host EGO_HOST 0.0.0.0 启动IP
watch EGO_WATCH true 默认监听
debug EGO_DEBUG false 是否开启调试模式
ego_name EGO_NAME filepath.Base(os.Args[0]) 应用名
ego_mode EGO_MODE 环境
ego_region EGO_REGION 地区
ego_zone EGO_ZONE 可用区
ego_log_path EGO_LOG_PATH ./logs 配置路径
ego_log_add_app EGO_LOG_ADD_APP false 日志里是否添加应用名
ego_trace_id_name EGO_TRACE_ID_NAME x-trace-id 链路名称

# 3.4 优先级

优先级: 命令行参数 > 环境变量 > 默认参数

上次更新: 3/29/2021, 10:37:51 PM