k8s容器异常结束导致Java事务阻塞触发系统延迟严重(线上JVM排查之六)

Posted 深度Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s容器异常结束导致Java事务阻塞触发系统延迟严重(线上JVM排查之六)相关的知识,希望对你有一定的参考价值。

说明:这是一个非常复杂的故障排查过程,也是非常有价值的经验分享。这是一个K8s环境,非常复杂的故障涌现过程,排障过程也很慌乱,整个过程现在整理起来看起来很轻松,不过当时却是另一番心情。

背景:线上N个微服务,之间调用关系复杂,简单的来说有上层服务,中层服务,底层服务。

上层服务实际上是N个不同的服务,这里简化为A服务(实际上是A1,A2等),中层服务也是简化为B服务,底层服务简化为C服务和D服务。

调用链关系:A-->B-->C->D    A,B,C,D都-->数据库     C--->Redis分布式锁

现象:下午15:15分A1服务出现严重响应延迟。

下面是事件过程中完整的性能趋势图

 从图中看出 多个系统都出现分钟级的延迟,持续很久。

这个实际上首先说明并非这些上层系统A服务的问题而是底层依赖服务B或者C有问题。

当时查A1服务发现是依赖的B1服务出现问题导致,卡顿1分钟说明是B1服务不可用。

下面是B1服务容器内存变化趋势图:

以上是关于k8s容器异常结束导致Java事务阻塞触发系统延迟严重(线上JVM排查之六)的主要内容,如果未能解决你的问题,请参考以下文章

阿里云ARMS排查ACK容器环境Java事务阻塞触发系统连锁雪崩故障(线上JVM排查之六)

阿里云ARMS排查ACK容器环境Java事务阻塞触发系统连锁雪崩故障(线上JVM排查之六)

MySQL 大事务导致其他dml阻塞

MySQL 大事务导致其他dml阻塞

MySQL 大事务导致其他dml阻塞

一次由于Java内存管理机制导致的线程异常阻塞之旅