【AHC】在 Kubernetes 环境中,AHC 如何应对服务短暂不可用(如 Pod 重启)?
async-http-client 在 Kubernetes 环境中应对服务短暂不可用(Pod 重启)的全维度解决方案
发布时间:2026年02月08日
作者:九师兄
一、问题引入:一次真实的线上故障
某电商公司的大数据平台使用Flink 1.17实时消费 Kafka 中的用户行为日志,并通过async-http-client 3.0.6将处理后的画像数据异步写入下游的用户中心微服务(部署在 Kubernetes 1.25 集群中)。该服务采用 Deployment + Service + Ingress 架构,副本数为 3。
某日凌晨,运维团队对用户中心服务执行滚动更新(Rolling Update),期间有 1~2 个 Pod 被优雅终止(Graceful Shutdown)。然而,Flink 作业在此期间出现了大量请求超时、回调未触发、任务背压飙升的现象,最终导致 Checkpoint 失败、作业自动重启。
监控系统显示:
- async-http-client 的
pendingRequests指标从 0 骤增至 5000+ - Netty EventLoop 线程 CPU 使用率持续 100%
- 容器内存缓慢增长,Direct Memory 占比异常升高
- DNS 解析延迟从 1ms 飙升至
