先搭建好注册中心,生产者(产品服务),消费者(订单服务)
可参考 SpringCloud-Feign消费者调用生产者_feign的生产者是怎么联系-CSDN博客
Feign会调用Ribbon,而Ribbon负载均衡,调用的默认时长是1秒钟(),也就是如果超过1秒没连接上或者超过1秒没响应,那么会相应的报错。
而实际情况是因为业务的不同可能出现超出1秒的情况,这时我们需要调整超时时间。
假如需求,订单服务 调用 产品服务
1 修改 产品服务 项目的代码,模拟超时
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
2 修改 订单服务 项目的配置文件application.yml
#修改调用超时时间
feign:
client:
config:
# 单独设置调用产品服务时的超时时间,注意:单个配置的超时时间将会覆盖全局配置
## @FeignClient(contextId = "aa",name = "shangpin-service")
# 写contextId 或 name的值都可以
shangpin-service:
# openFeign提供了日志增强功能,日志级别有:NONE,BASIC,HEADERS,FULL
logger-level: full
connect-timeout: 4000
read-timeout: 4000
# default 设置的全局超时时间,指定服务名称可以设置单个服务的超时时间
default:
logger-level: full
# 请求连接的超时时间 默认的时间为 1 秒
connect-timeout: 3000
# 请求处理的超时时间
read-timeout: 3000
# 开启sentinel的降级,结合 @FeignClient中添加fallback,starter-alibaba-sentinel依赖别忘了
sentinel:
enabled: true
# openFeign日志增强
logging:
level:
# 全局异常显示级别
root: error
# openFeign接口所在的包名,也可以配置一个特定的openFeign接口
cn.haiwang.feignApi_pro: debug