典型问题 核心中间件服务异常

核心中间件服务异常

典型问题 / 典型问题/性能/核心中间件服务异常.md

核心中间件服务异常

典型现象/特征

  1. 大面积服务报错,错误信息中包含 rediskafka 关键字,或出现消息发送失败等现象
  2. 消息队列相关功能异常,例如消息通知失败、公文意见大面积丢失等

排查确认步骤

  1. 1.应先确认影响范围,是单个服务异常还是多个服务同时异常;
  2. 2.如果多个服务在同一时段同时异常,应优先怀疑公共依赖的 Redis、Kafka 等核心中间件。
  3. 3.随后查看应用日志,Redis 重点关注 Connection refusedRedisConnectionExceptiontimeoutOOM command not allowedNOAUTH 等关键字,Kafka 重点关注消息发送失败、TimeoutExceptionBroker not availableLEADER_NOT_AVAILABLENo space left on device 等异常信息。
  4. 4.之后登录 Redis 或 Kafka 所在服务器,检查进程、内存、磁盘、CPU 等资源状态,确认服务进程是否存在、内存是否打满、磁盘是否写满,必要时检查 CPU 和 IO 是否异常。
  5. 5.接着进行中间件服务可用性验证,Redis 可使用 redis-cli 执行 pinginfo memoryinfo clients 等命令,Kafka 可通过 kafka-topics.shkafka-consumer-groups.sh 等命令确认 Broker、Topic、Consumer Group 状态。
  6. 6.如果中间件服务器本机执行正常,但应用侧仍然连接失败,还需要从相关 Pod 或业务服务所在节点检查网络连通性,确认服务地址、端口、防火墙、安全组、K8S Service 与 DNS 解析是否正常。
  7. 7.最后结合 Redis 或 Kafka 自身日志,进一步分析中间件异常根因。

分析工具

  1. 一键采集工具
  2. 一键巡检工具
  3. 系统监控查看说明 中的 服务器监控部分
  4. 系统日志查看指引

常见应急恢复策略

  1. 优先恢复异常中间件服务,确保 Redis、Kafka 先恢复可用;
  2. 在服务恢复后,再结合现场日志、资源状态和网络情况追踪根因,避免问题重复发生。