怎么通过链路分析判断某功能是否可以上线
发布网友
发布时间:2023-03-11 00:10
我来回答
共1个回答
热心网友
时间:2023-10-13 22:29
流量不均导致的“热点击穿”问题,很容易造成服务不可用,在生产环境中出现过多起这样的案例。比如负载均衡配置错误,注册中心异常导致重启节点的服务无法上线,DHT 哈希因子异常等等。
流量不均最大风险在于能否及时发现“热点”现象,它的问题表象更多是服务响应变慢或报错,传统监控无法直观反映热点现象,所以大部分同学都不会第一时间考虑这个因素,从而浪费了宝贵的应急处理时间,造成故障影响面不断扩散。
通过链路分析按 IP 分组统计链路数据,快速了解调用请求分布在哪些机器上,特别是问题发生前后的流量分布变化,如果大量请求突然集中在一台或少量机器,很可能是流量不均导致的热点问题。再结合问题发生点的变更事件,快速定位造成故障的错误变更,及时回滚。
【单机故障】网卡损坏/CPU 超卖/磁盘打满等单机故障,导致部分请求失败或超时,如何排查?
单机故障每时每刻都在频繁发生,特别是核心集群由于节点数量比较多,从统计概率来看几乎是一种“必然”事件。单机故障不会造成服务大面积不可用,但会造成少量用户请求失败或超时,持续影响用户体验,并造成一定答疑成本,因此需要及时处理这类问题。
单机故障可以分为宿主机故障和容器故障两类(在 K8s 环境可以分为 Node 和 Pod)。比如 CPU 超卖、硬件故障等都是宿主机级别,会影响所有容器;而磁盘打满,内存溢出等故障仅影响单个容器。因此,在排查单机故障时,可以根据宿主机 IP 和容器 IP 两个维度分别进行分析。
面对这类问题,可以通过链路分析先筛选出异常或超时请求,根据宿主机 IP 或容器 IP 进行聚合分析,快速判断是否存在单机故障。如果异常请求集中在单台机器,可以尝试替换机器进行快速恢复,或者排查该机器的各项系统参数:比如磁盘空间是否已满、CPU steal time 是否过高等。如果异常请求分散在多台机器,那大概率可以排除单机故障因素,可以重点分析下游依赖服务或程序逻辑是否异常