惨痛的P0级故障复盘

589 阅读1分钟

暴风雨前的宁静

  风和日丽的周五,一切都是那么美好。可天有不测风云~~~

故障前夕

  一开始只有少许服务响应较慢,其他服务正常。

  这时候运营钉钉群提示接口响应较慢,怀疑是慢SQL,登录阿里云后确实存在这样的情况。总体不影响线上主要业务。

  中午12.00左右, 部分服务抛出异常,Tried one times。这时候初步判断是网络波动导致服务消费者调用服务提供者失败。

爆发

  开发在查询的过程中,阿里云上显示产生了大量FullGC,并且数据库CPU到达97%。

  同时钉钉群炸了,部分业务已经不可用了。猜测是否是产生了大量慢SQL 导致CPU飙升,最恐怖的还是dubbo的retry没有设置成快速失败,导致了服务进行了多次重试。 所有服务全都变的不可用。

  开发开始查是哪些慢SQL导致的,发现很多SQL都出现了慢查询的情况。 但是最近几天都没有发过版,一直在好好运行着。

  有人开始怀疑是不是被攻击了,果然,有些接口在1分钟内被调用了13000次。这不就得出结论了,这么大的流量瞬间打满了DB,不挂才怪。

临时解决方案:

  暂时把改块业务暂时关闭,避免影响所有业务。同时添加限流。

总结

  公司应该有类似网关的机制,对公司的整个入口进行流量监控。