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

Apollo 的配置能做到多强的一致性?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

Apollo 把某一命名空间的发布内容作为一个版本保存,客户端按版本读取。各实例何时拿到并应用这一版,仍取决于通知、拉取和各自网络。

讲清原理

数据库记录发布快照。Config Service 可以多副本读取。客户端靠长轮询和定时校验追赶,已有缓存还能在短暂失联时继续使用。多台机器可能暂时分别用旧版和新版,多个命名空间也各自发布,收到更新的时间也可能不同。

例子与易错点

若两项参数必须一起变,放到同一次发布能拿到同一份配置快照。应用内部还应整份校验后替换,避免代码先后更新两个字段时被读到一半。

延伸阅读 Apollo 的 ReleaseKey 到底标识什么? · Apollo Java 客户端为何保留磁盘缓存? · 网络分区时 Apollo 应用会看到什么?

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

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