知识卡片
配置广播刷新解决多实例规模问题
内容
逐实例调用 /actuator/refresh 来刷新配置,在只有一两个副本时够用,但生产环境里一个服务可能有几十个副本,逐个手动触发既麻烦又容易漏。Spring Cloud Bus 把”刷新”这个动作从”对单个实例发请求”改成了”往一条消息总线(RabbitMQ/Kafka)广播一个 RefreshScopeRefreshedEvent”,所有订阅了这条总线的实例实例会同时收到并各自刷新,配合配置仓库的 webhook(GitHub/GitLab 推送即触发),整条链路从”人肉逐台刷新”变成”提交代码即全量生效”。发散:这和[[配置热更新不等于重启]]是同一个”刷新”能力在不同规模下的两种实现——单实例够用的点对点调用,一旦实例数上去就必须换成广播机制,规模是倒逼架构从简单方案升级的常见触发点。
参考来源
《Cloud Native Spring in Action》第14章《Configuration and secrets management》