Java 业务开发常见错误 100 例(二)

HTTP调用:超时、重试、并发

需要考虑的三点:

  1. 首先,框架设置的默认超时是否合理;
  2. 其次,考虑到网络的不稳定,超时后的请求重试是一个不错的选择,但需要考虑服务端接口的幂等性设计是否允许我们重试;
  3. 最后,需要考虑框架是否会像浏览器那样限制并发连接数,以免在服务并发很大的情况下,HTTP 调用的并发数限制成为瓶颈。

超时:

  • 连接超时参数 ConnectTimeout,让用户配置建连阶段的最长等待时间;

             通常在毫秒级最多到秒级,不可能需要十几秒甚至几十秒,不合适配置的特别长;

  • 读取超时参数 ReadTimeout,用来控制从 Socket 上读取数据的最长等待时间。

    第一个误区:认为出现了读取超时,服务端的执行就会中断。

            第二个误区:认为读取超时只是 Socket 网络层面的概念,是数据传输的最长耗时,故将其配置得非常短,比如 100 毫秒。

            第三个误区:认为超时时间越长任务接口成功率就越高,将读取超时参数配置得太长。

Feign 和 Ribbon 配合使用,你知道怎么配置超时吗:

  略,后续补上

posted @   上海小墨子  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示