云 & 宇宙行 & B站,多事之秋
作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE
10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家
圈内拥有“总监”称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809
IFClub:胖头鱼的鱼缸
除授权转载并标明出处外,均为“非法”抄袭
近期全球IT圈颇不平静,可谓是多事之秋(确实农历尚未到立冬),各类故障接连发生:先是AWS遭遇全球范围故障,紧接着Azure也出现了规模相近的问题;昨天IT圈的焦点故障则是宇宙行出现“存款与负债均无法显示”的情况,到了晚间,B站又突发无法观看视频的故障。
先说说B站的故障。昨天凌晨进行了系统割接,因此我白天在家休息,到了下班时段,OB社区版主群里突然有人提及B站“宕机”。我连忙找人打听了一下,对方回复“不是数据库的问题”。好在聊天过程中,B站服务已恢复正常,此次故障影响并不算大。
相比之下,宇宙行的故障堪称“重磅”——用户不仅无法查看存款(让人揪心),连负债记录也消失了(又有些荒诞)。在各类行业交流群的讨论与公众号解读中,大家的怀疑矛头几乎都指向了数据库问题。不过在官方正式通报前,我暂不做主观推测。
为何无论是工商银行故障引发的广泛探讨,还是我打听B站问题时的第一反应,都会下意识联想到数据库?最核心的原因在于我身处数据库行业,自身及所处圈子的关注点本就围绕数据库展开,因此讨论自然会向这一方向集中;当然,工商银行“数据无法显示”的现象本身,也确实更容易让人将其与数据库故障挂钩(说实话,若此次真与数据库相关,我也很好奇是哪家国产数据库承接了宇宙行的核心业务)。
作为一线DBA,我很清楚故障发生后的常规沟通流程大致如下:使用方反馈“业务卡顿/无法使用,这是怎么回事”;业务运维接着会向DBA反馈“数据库卡顿、无法访问,问题出在哪?”;DBA往往会先回应 “这不是数据库的问题”;随后业务运维与 DBA 会反复沟通确认,有时还需拉上硬件工程师一同排查……
根据我的经验,大多数看似与数据库相关的故障,根源其实并非数据库本身。以下是我梳理的常见故障原因:
业务层面问题:业务应用异常(如突发大量数据库操作)、代码运行异常、机器人滥用等 环境与硬件问题:环境异常、应用/数据库服务器异常、网络异常、存储异常等 数据库直接问题:数据库BUG、进程异常/实例挂死、数据库配置错误等 性能类问题:业务/数据库主机性能不足、劣质SQL(含临时执行或已上线的SQL)、业务代码或数据逻辑设计缺陷
我想强调的是,单次业务异常的潜在原因往往复杂多样,但实际排查中,业务、数据库、硬件等相关团队却常处于“各顾各”的状态,采用线性排查模式——比如业务侧发现“数据库卡顿或无法连接”的表象后,仅将问题反馈给数据库团队便不再跟进,直到数据库团队提出进一步排查需求,业务侧才会开展后续动作。这种模式很容易导致故障排查与处置的时间被大幅拉长。
因此在我看来,故障处理绝不能“自扫门前雪”。遇到问题时,各团队不仅要主动向外部提供排查线索与证据,更需全面自查自身环节是否存在潜在问题,唯有如此才能提升排查效率。
从云厂商、金融机构、互联网的故障频发,可以看到IT系统运行是非常复杂的,“保障IT系统稳定运行” 是整个IT工作的核心:这不仅是快速处置单次故障的直接目标,更是支撑业务连续运转、维护用户信任的关键基石,堪称IT工作的重中之重。
老规矩,不知道写了些啥。