3 启动参数

3.1 介绍

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

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

3.2 最佳实践—统一启动参数

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

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

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

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

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

命令行参数环境变量默认参数描述
configEGO_CONFIG_PATHconfig/local.toml配置路径
hostEGO_HOST0.0.0.0启动IP
watchEGO_WATCHtrue默认监听
debugEGO_DEBUGfalse是否开启调试模式
ego_nameEGO_NAMEfilepath.Base(os.Args[0])应用名
ego_modeEGO_MODE环境
ego_regionEGO_REGION地区
ego_zoneEGO_ZONE可用区
ego_log_pathEGO_LOG_PATH./logs配置路径
ego_log_add_appEGO_LOG_ADD_APPfalse日志里是否添加应用名
ego_trace_id_nameEGO_TRACE_ID_NAMEx-trace-id链路名称

3.4 优先级

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