Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

多个 Config Service 副本怎样保持配置一致?

查看完整题解

参考回答

直接回答

同一个环境内,Config Service 多副本通常读同一逻辑 ApolloConfigDB。Admin Service 产生发布版本及消息,各 Config Service 看到这条消息后,更新相关状态并唤醒正在等待的客户端。

讲清原理

副本数量提高入口容量和容错。它们不独立发布配置,也不是各管一套配置状态。开启内存缓存时,扫描消息和刷新缓存会引入传播延迟。数据库读写架构同样会影响可见时间。

Portal 管发布,应用从 Config Service 读取
Portal 管发布,应用从 Config Service 读取

例子与易错点

刚发布时两次请求落到不同副本,可能暂时看到不同版本。排查时同时核对数据库发布记录、各副本的消息进度和报出的 ReleaseKey。

延伸阅读 Apollo 的各个组件怎样协作? · Apollo 的配置能做到多强的一致性? · Apollo 怎样做高可用和故障转移?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。