多个 Config Service 副本怎样保持配置一致?
查看完整题解
参考回答
直接回答
同一个环境内,Config Service 多副本通常读同一逻辑 ApolloConfigDB。Admin Service 产生发布版本及消息,各 Config Service 看到这条消息后,更新相关状态并唤醒正在等待的客户端。
讲清原理
副本数量提高入口容量和容错。它们不独立发布配置,也不是各管一套配置状态。开启内存缓存时,扫描消息和刷新缓存会引入传播延迟。数据库读写架构同样会影响可见时间。
例子与易错点
刚发布时两次请求落到不同副本,可能暂时看到不同版本。排查时同时核对数据库发布记录、各副本的消息进度和报出的 ReleaseKey。
延伸阅读 Apollo 的各个组件怎样协作? · Apollo 的配置能做到多强的一致性? · Apollo 怎样做高可用和故障转移?
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。