【AHC】async-http-client 回调线程控制:如何指定 Executor 执行回调逻辑?

张开发
2026/5/18 2:05:16 15 分钟阅读
【AHC】async-http-client 回调线程控制:如何指定 Executor 执行回调逻辑?
async-http-client 回调线程控制:如何指定 Executor 执行回调逻辑?发布时间:2026年02月06日问题引入:一次因回调阻塞导致的 Flink 作业雪崩某电商公司使用Apache Flink 1.18构建实时用户行为分析系统,其中关键链路是将 Kafka 中的点击流事件通过async-http-client 3.0.6异步写入企业微信告警接口(POST /v2/alerts)。系统上线初期运行平稳,但某次大促期间突然出现Flink TaskManager CPU 飙升至 95%、背压(Backpressure)持续、Checkpoint 超时失败的连锁故障。运维团队紧急介入,通过jstack pid | grep -A 10 -B 5 "AsyncHttpClient"发现大量线程卡在如下栈帧:"epollEventLoopGroup-3-1" #42 daemon prio=5 os_prio=0 tid=0x00007f8a1c00b000 nid=0x1a2 runnable [0x00007f8a0d7f7000] java.lang.Thread.State: RUNNABLE at com.c

更多文章