背景
很多服务希望不重启就能改配置,但并不是所有参数都适合热更新。
建议分类
- 可热更新:限流阈值、开关、采样率
- 谨慎热更新:连接池参数
- 不建议热更新:协议兼容、核心依赖地址
type RuntimeConfig struct {
RateLimit int
Sample float64
}
var cfg atomic.Value
总结
热更新是能力,不是目标。先定义边界,再提供机制。
线上灵活性要建立在可控性之上。
很多服务希望不重启就能改配置,但并不是所有参数都适合热更新。
type RuntimeConfig struct {
RateLimit int
Sample float64
}
var cfg atomic.Value
热更新是能力,不是目标。先定义边界,再提供机制。
线上灵活性要建立在可控性之上。