近期发现,长时间没有连接ES服务时,首次连接会报Connection reset by peer错误。
在创建连接时增加了httpAsyncClientBuilder.setKeepAliveStrategy((response, context) -> TimeUnit.MINUTES.toMillis(3));
这个连接配置在一个公共服务中,ES服务重新打包部署
第二天错误还是出现。
然后又查到Linux防火墙2小时和es服务1小时的时间差问题,将Liunx的tcp_keepalive_time改为半小时。等待第二天早上检查问题是否解决
本人认为第二种解决方法不够好,不明白为什么第一种解决方法没有解决掉。每3分钟保持连接,为什么还会出现连接失败的问题
Caused by: java io IOException: Connection reset by peer