HTTP调用:超时、重试、并发
需要考虑的三点:
- 首先,框架设置的默认超时是否合理;
- 其次,考虑到网络的不稳定,超时后的请求重试是一个不错的选择,但需要考虑服务端接口的幂等性设计是否允许我们重试;
- 最后,需要考虑框架是否会像浏览器那样限制并发连接数,以免在服务并发很大的情况下,HTTP 调用的并发数限制成为瓶颈。
超时:
- 连接超时参数 ConnectTimeout,让用户配置建连阶段的最长等待时间;
通常在毫秒级最多到秒级,不可能需要十几秒甚至几十秒,不合适配置的特别长;
- 读取超时参数 ReadTimeout,用来控制从 Socket 上读取数据的最长等待时间。
第一个误区:认为出现了读取超时,服务端的执行就会中断。
第二个误区:认为读取超时只是 Socket 网络层面的概念,是数据传输的最长耗时,故将其配置得非常短,比如 100 毫秒。
第三个误区:认为超时时间越长任务接口成功率就越高,将读取超时参数配置得太长。
Feign 和 Ribbon 配合使用,你知道怎么配置超时吗:
略,后续补上
标签:Java,读取,错误,配置,重试,并发,100,超时 From: https://www.cnblogs.com/parent-absent-son/p/17838027.html