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

Apollo Java 客户端为何保留磁盘缓存?

先说出你的答案

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

查看完整题解

参考回答

直接回答

运行中的读取通常走内存。磁盘缓存保留最近成功拿到的配置,这样进程重启而网络还没恢复时,只要对应文件还在,就有机会从本机取回旧值。

讲清原理

客户端拿到新内容后更新缓存。Java 新式配置项叫 apollo.cache-dir,要确保运行账号可读写。故障时本地值可能落后,应用需要为关键配置确定能接受多久的旧值。

运行时内存、重启磁盘缓存和首次启动的区别
运行时内存、重启磁盘缓存和首次启动的区别

例子与易错点

虚拟机原目录仍在时,服务可用旧文件救急。刚启动的容器没有挂载缓存,也没有拿到远端配置,不能指望它凭空读到上一版。

延伸阅读 Apollo 暂时不可用时,应用会怎样降级? · Apollo 的 LocalMode 和故障时读缓存有什么区别? · 网络分区时 Apollo 应用会看到什么?

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

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