Ribbon 配置
Spring Cloud Feign 的客户端负载均衡是通过 Spring Cloud Ribbon 实现的,所以可以直接通过配置Ribbon客户端的方式来自定义各个服务客户端调用的参数。
全局
1 | ribbon.ConnectTimeout=500 |
单位毫秒
指定服务配置
1 | <client>.ribbon.key = value |
Ribbon 重试机制
1 | SERVICE.ribbon.MaxAutoRetries=1 |
重试策略先尝试访问首选实例一次,失败后才更换实例方法,更换实例访问的次数通过 ribbon.MaxAutoRetriesNextServer 参数设置。MaxAutoRetries
单个实例的最大尝试次数,MaxAutoRetriesNextServer
更换实例尝试的最大次数
TIP
Ribbon的超时与Hystrix的是超时是两个概念,Hystrix 的是超时时间需要大于Ribbon的超时时间,否则Hystrix命令超时后,该命令直接熔断,重试机制也就没有意义。
Hystrix 配置
Hystrix 实现服务降级
全局配置
1 | hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds = 5000 |
单位毫秒
1 | feign.hystrix.enabled = false |
关闭Feign 客户端的 Hystrix 功能
指定命令配置
采用 hystrix.command.<commandKey>
作为前缀
其他配置
请求压缩
1 | # 开启对请求与相应的GZIP压缩,减少通行过程中的性能损耗 |