summary
2020-04,COVID-19 远程办公带来流量突增,Flowdock 的数据库在高负载下 hang 住,服务约 24 小时不可用,部分数据永久丢失。
timeline
远程办公潮致流量突增;数据库在高压下 hang,写入/读取停滞;团队尝试恢复,约 24 小时后服务恢复,但部分时段数据已永久丢失。
root_cause
数据库容量与连接处理不足以应对突增负载,在高并发下出现锁等待/资源耗尽而 hang。本质是容量与限流缺失,且备份粒度不足以挽回窗口内数据。
amplifiers
① 外部事件(疫情)引发流量阶跃,超出容量。② 数据库 hang 使全服务停滞。③ 备份频率不足,窗口内数据不可恢复。④ 恢复时间长(约 24h)。
mitigation
恢复数据库并扩容,提升限流与连接管理;后续增加容量余量与更频繁备份。
lessons
容量必须考虑外部事件带来的阶跃式增长;数据库需限流与连接上限;备份频率要小到可接受的数据丢失窗口。
checklist
① 数据库按阶跃增长做容量预留。② 增加限流与连接数上限。③ 缩短备份间隔至可接受 RPO。④ 演练数据库 hang 的快速恢复。