作者:RogerZhuo
来源:DBACoder
TroubleShooting-排障是DBA一项重要技能,通过故障表现的症状,先让业务快速恢复止损,同时分析故障的根因(rootCause),给出解决方案并从根本上修复故障,最后总结从产品或流程上怎么规避同类型故障再次发生。
DBA排障很像医生治病、刑警破案。
医生通过了解病人病情症状(故障症状),先让病人病情缓解(服务止损)类似止痛,同时分析病灶(故障根因),给出可行的治疗方案(故障解决方案),病人完全恢复;最后给出医疗建议如何预防病情或避免恶化(故障规避);当然还有现多的类似急救(紧急故障-7位数级损失)、会诊、不治、AI医疗(AI故障根因分析)、医疗事故(背锅);其实很多相通之处。
刑警通过真凶(故障根因)留下的犯罪现场(故障症状),根据罗卡定律,各种技术分析和寻找证据,最终找出真凶和证据。(段子很多,先回到主题)
在Redis早期的运维过程中,也遇过不少Redis故障,现总结其中几个有意思的案例,希望对刚开始用Redis的DBA同学有所帮助。故障因与业务、故障场景结合较密切(脱敏),笔者尽量提炼成技术和还原现场;故障系列文章包括以下几部分:
故障背景:主要交待技术和故障背景[可选];
故障描述:故障的简单描述、根本原因和影响;
故障监控告警:故障相关的监控告警信息;
故障分析:文章核心 提供类似故障的分析思路、和技术点;
故障阶段性总结:文章核心 总结类似故障的通用性预防;
本文是Redis故障案例(一)关于一次Redis特定key丢失排查分析。