背景

很多服务希望不重启就能改配置,但并不是所有参数都适合热更新。

建议分类

  1. 可热更新:限流阈值、开关、采样率
  2. 谨慎热更新:连接池参数
  3. 不建议热更新:协议兼容、核心依赖地址
type RuntimeConfig struct {
    RateLimit int
    Sample    float64
}

var cfg atomic.Value

总结

热更新是能力,不是目标。先定义边界,再提供机制。


线上灵活性要建立在可控性之上。