async-http-client 连接失败处理全解析:Connection refused 背后的自动重试陷阱与生产级容错设计
发布时间:2026年02月08日
作者:九师兄
一、问题引入:从 Kafka Connect 雪崩看默认重试的致命缺陷
在构建高可用异步 HTTP 客户端系统时,连接失败(如java.net.ConnectException: Connection refused)是最常见的网络异常之一。当目标服务宕机、端口未监听或防火墙拦截时,async-http-client(3.x)会如何响应?它是否会自动重试?重试行为是否安全可控?
某电商平台的真实故障案例,将这些问题的危险性展现得淋漓尽致:
该平台使用Kafka Connect同步订单数据到外部风控系统,HTTP Sink 基于async-http-client 3.0.3,核心配置如下:
AsyncHttpClientclient=asyncHttpClient