Java业务开发中的HTTP调用注意事项
Java业务开发常见错误100例05丨HTTP调用:你考虑到超时、重试、并发了吗? HTTP调用需要注意的超时、重试、并发等问题与执行本地方法不同,进行HTTP调用本质上是通过HTTP协议进行一次网络请求。网络请求必然有超时的可能性,因此我们必须考虑到这三点:首先,框架设置的默认超时是否合理;其次,考虑到网络的不稳定,超时后的请求重试是一个不错的选择,但需要考虑服务端接口的幂等性设计是否允许我们重试;最后,需要考虑框架是否会像浏览器那样限制并发连接数,以免在服务并发很大的情况下,HTTP调用的并发数限制成为瓶颈。Spring Cloud是Java微服务架构的代表性框架。如果使用Spring Cloud进行微服务开发,就会使用Feign进行声明式的服务调用。如果不使用Spring Cloud,而直接使用Spring Boot进行微服务开发的话,可能会直接使用Java中最常用的HTTP客户端Apache HttpClient进行服务调用。