后端 配置习惯

配置写在代码里的第 100 天,我终于建了配置表

复盘一个老项目,发现一个难堪的规律:过去半年的 47 次发版里,有 21 次只是改了一个数字——限流阈值、缓存时长、白名单、重试次数。这些"配置"当初都被当成了代码写死,改一个就要走完整条发布流程。

于是把"什么该进配置"整理成三条判断:

配置化之后的第一个坑是配置失效:改了配置,代码还在用启动时缓存的旧值。所以每个配置项要有明确的生效方式——定时刷新、变更回调、还是重启生效,写进配置项的注释里。第二个坑是配置没有默认值,漏配直接崩——所有配置读取必须带默认值和类型校验。

排查过程实录
排查过程实录

还有一个容易被忽略的点:配置也要能回滚。配置中心里改错了参数引发故障,回滚配置应该和回滚代码一样是一键的事。带历史版本和一键回滚的配置中心,才算及格。

那次改造之后,发版次数降了一半以上。发版应该承载"逻辑变更",而不是"改个数字"。如果你们也经常为改数字发版,这篇是给你的信号。