从prepareGet().execute()到Response:async-http-client 请求生命周期全解析
作者:九师兄
发布时间:2026年02月07日
问题引入:一个 Flink 作业中的“幽灵请求”
在某大型电商公司的实时风控系统中,我们使用Flink 1.18 + async-http-client 3.0.6构建了一个用户行为实时打标流水线。每当用户点击商品,Flink 作业会通过AsyncFunction调用外部画像服务(REST API),获取用户风险等级,并决定是否拦截交易。
某天凌晨,运维告警显示:画像服务调用量突降 90%,但 Flink 作业无异常退出、无背压、无 Checkpoint 失败。排查发现:
- 日志中大量请求发出后,回调从未触发(既无成功也无失败)
jstack显示Netty EventLoop 线程 CPU 占用 100%jcmd <pid> VM.native_memory summary显示Direct Memory 持