【AHC】HttpAsyncClient 的 `FutureCallback.completed()` 是在 I/O Dispatcher 线程执行,AHC 是否相同?

张开发
2026/5/30 15:29:31 15 分钟阅读
【AHC】HttpAsyncClient 的 `FutureCallback.completed()` 是在 I/O Dispatcher 线程执行,AHC 是否相同?
async-http-client 与 HttpAsyncClient 的回调执行线程模型深度解析发布时间:2026年02月06日问题引入:一个 Flink 实时告警系统中的“幽灵阻塞”在某金融风控平台,我们部署了一个基于Apache Flink 1.17的实时交易监控作业。该作业通过async-http-client 3.0.6异步调用企业微信 Webhook 接口,在检测到异常交易时发送告警消息。系统上线初期运行平稳,但在流量高峰(QPS 5000)时,突然出现背压(Backpressure)飙升、Checkpoint 超时、TaskManager CPU 使用率异常波动等现象。通过jstack抓取线程堆栈,我们发现大量类似以下的线程:"AsyncHttpClient-3-1" #42 daemon prio=5 os_prio=0 cpu=1234ms elapsed=120.5s tid=0x00007f8a1c001000 nid=0x2a runnable [0x00007f8a0d0fe000] java.lang.Thread.State: RUNNABLE at com.example.alert.service.WeComAl

更多文章