第四篇 持久化与快照

前三篇让白板「画得动、连得上、并得对」,本篇解决「画完存得住、分享得出、扩得动」:数据落到哪、快照怎么生成、怎么导出分享、性能怎么优化。持久化是白板从「在线玩具」变「可交付产品」的分水岭。

本篇脉络

节 主题 要解决的问题
4.1 持久化 Redis 与 COS 各存什么
4.2 快照生成 定时 / 里程碑怎么打
4.3 导出分享 图片与只读链接
4.4 性能优化 批量、节流、削峰

为什么要「日志 + 快照」双轨

白板数据分两种:高频细粒度(每秒成百笔的事件流)和低频粗粒度(某一时刻的整板)。前者不能全压数据库,后者不能靠日志重放。双轨就是「日志保正确、快照保快」,各存各的长处。

本篇的三条验收线

验收 含义
存得住 断线、重启、房间关闭都能恢复
出得了 能导出图片、生成只读分享
扩得动 数据量涨不拖垮在线服务

与前三篇的关系

第三篇的「全局 seq + 日志」是持久化的原料:日志记细、快照取粗、导出走快照、恢复走锚点加增量。本篇把这条「存」的链路彻底打通。

延伸阅读