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

ZooKeeper 怎样把内存数据持久化?

先说出你的答案

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

查看完整题解

参考回答

直接回答

写操作留下事务日志,服务端定期把内存数据树保存成快照。启动时加载快照,再重放后续日志恢复运行状态。

讲清原理

写快照时,服务端可以同时处理修改,因此快照里的各部分可能对应相近但不同的时刻,恢复依靠保留的日志补齐。服务端可以把事务日志放在独立设备上减小与快照的磁盘争用。

例子与易错点

快照之后修改了两个节点,重启需要重放相应事务。配置自动清理前,还应确认备份能保有匹配的一段日志与快照。

延伸阅读 ZooKeeper 安装目录和数据目录各有什么用? · ZooKeeper 主从节点如何同步状态? · ZooKeeper 节点宕机了怎么处理?

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

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