记录一次线上因kafka宕机而导致java服务cpu飙升的情况

问题背景

线上kafka(自搭)所在服务器,因为防火墙问题,导致线上服务无法连接,从而开始持续重试。

发消息为异步发送,且线上业务服务qps为4000

定位问题:问题定位较为简单,查看日志(本地模拟日志)

复制代码
2025-01-04T14:41:25,577 INFO  [kafka-producer-network-thread | producer-1] org.apache.kafka.clients.NetworkClient: [Producer clientId=producer-1] Disconnecting from node -1 due to socket connection setup timeout. The timeout value is 8073 ms.
2025-01-04T14:41:25,578 WARN  [kafka-producer-network-thread | producer-1] org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater: [Producer clientId=producer-1] Bootstrap broker 192.168.8.16:9092 (id: -1 rack: null) disconnected
2025-01-04T14:41:46,696 INFO  [kafka-producer-network-thread | producer-1] org.apache.kafka.clients.NetworkClient: [Producer clientId=producer-1] Node -1 disconnected.
2025-01-04T14:41:46,696 WARN  [kafka-producer-network-thread | producer-1] org.apache.kafka.clients.NetworkClient: [Producer clientId=producer-1] Connection to node -1 (/192.168.8.16:9092) could not be established. Broker may not be available.

通过日志发现是kafka连接错误,且持续的重连

解决问题:解决也很简单,网络互通后,问题解决。


引发思考,为什么会导致服务器CPU飙升?

spring kafka producer的失败重试

spring kafka的失败重试为默认无限重试,每次请求都会发送消息进行kafka的重连尝试,从而最终导致jvm cpu飙升,服务请求拒绝

相关推荐
seabirdssss14 分钟前
错误: 找不到或无法加载主类 原因: java.lang.ClassNotFoundException
java·开发语言
还是鼠鼠19 分钟前
tlias智能学习辅助系统--SpringAOP-进阶-通知顺序
java·后端·mysql·spring·mybatis·springboot
君莫笑几人回1 小时前
关于记录一下“bug”,在做图片上传的时候出现的小问题
java·开发语言·spring boot
技术不支持1 小时前
Qt Creator 11.0.3 语法高亮bug问题
java·服务器·数据库·qt·bug
zzywxc7872 小时前
PyTorch分布式训练深度指南
人工智能·pytorch·分布式·深度学习·wpf·技术栈深潜计划
pointers_syc2 小时前
【设计模式】2.策略模式
java·设计模式·策略模式
Dcs3 小时前
别再观望了!这才是把 AI 融入日常工作的正确姿势
java
努力写代码的熊大4 小时前
八大排序算法
java·算法·排序算法
做一位快乐的码农5 小时前
基于springboot的在线考试系统/考试信息管理平台
java·struts·spring·eclipse·tomcat·maven·hibernate
创码小奇客5 小时前
Spring Boot 集成 Talos:打造智能调参系统,让模型性能自动飙升
java·spring boot·trae