互联网公司业务发展快,策略复杂,软件迭代变更非常频繁。因此有必要有一套良好的参数管理思想控制在线服务的表现,以支持业务的频繁变更和AB实验等。

参数分类

  • 默认配置参数:分为远程配置和本地配置。远程配置可动态修改、动态加载,而不需要升级或重启服务,使用方便, 但是有稳定性和可靠性风险,比如由于网络中断、提供远程配置的载体服务异常等原因而导致取不到配置信息。 因此,还需要一套本地配置,随服务一起发布,理论上配置信息应该与远程配置是一模一样的, 但由于本地配置发布频率低,可能会比远程配置版本低,不过问题不大,本地配置主要是对远程配置不可用时做兜底的, 生效时机较少。

  • 实验参数:一般指AB实验的策略配置参数。

  • 降级参数:服务故障时,临时注入的策略参数,用于降低策略复杂度、降低服务消耗、提高服务可用性,可能会对实验指标、效果指标有损。 由于AB实验指标可能对业务发展比较重要,因此降级参数还可以再细分一下优先级,分为优先级高于AB实验参数的高优降级参数和优先级低于AB实验参数的低优降级参数。 发生轻微故障时,使用低优降级参数则不会对实验指标有影响。

优先级

服务初始化时,按照一定优先级合并多种参数用于后续处理。综上描述,按优先级从高到低,这一套在线服务参数的排列顺序是:

1
高优降级参数 -> 实验参数 -> 低优降级参数 -> 默认配置参数(远程配置参数 或 本地配置参数)