【真实案例】解决后端接口调用偶尔超时问题

文章目录

  • 背景
  • 分析
    • 代码分析
    • 二次日志分析
    • 排查Gateway服务
  • 解决
    • 解决办法1:添加重试机制
    • 解决办法2:优化网关内存分配
    • 解决办法3:调整OOM策略

背景

项目从虚拟机迁移到k8s云原生平台(RainBond)后,发现偶尔会出现接口调用超时的问题。
统计了一下从上线到现在近一个月的调用失败情况:共出现14次,平均每2.5天出现一次

2023-07-18 07:31:08.980 [Thread-6640] ERROR com.xxx.xxx.task.util.TaskUtil L:114 - Caught exception when finishing task.
java.lang.IllegalStateException: io error:
	at com.xxx.xxx.task.util.HttpClientUtil.doExecute(HttpClientUtil.java:243)
	at com.xxx.xxx.task.util.HttpClientUtil.doPatch(HttpClientUtil.java:213)
	at com.xxx.xxx.task.util.TaskUtil

你可能感兴趣的:(项目中的那些事,接口偶尔请求超时,HttpClient,connect,timed)