Feign = RestTemplate + Ribbon + Hystrix
    Feign对负载均衡的支持
    Feign默认的请求处理时长1s,有时候我们的业务确实执行需要一定时间,这个时候,就需要调整请求处理时长,Feign有自己的配置,但如果配置了Ribbon的超时,则会以Ribbon的为准

    1. #针对的被调用方微服务名称,不加就是全局生效
    2. lagou-service-product:
    3. ribbon:
    4. #请求连接超时时间
    5. #ConnectTimeout: 2000
    6. #请求处理超时时间
    7. #ReadTimeout: 5000
    8. #对所有操作都进行重试
    9. OkToRetryOnAllOperations: true
    10. ####根据如上配置,当访问到故障请求的时候,它会再尝试访问一次当前实例(次数由 MaxAutoRetries配置)
    11. ####如果不行,就换一个实例进行访问,如果还不行,再换一次实例访问(更换次数由 MaxAutoRetriesNextServer配置)
    12. ####如果依然不行,返回失败信息。
    13. MaxAutoRetries: 0 #对当前选中实例重试次数,不包括第一次调用
    14. MaxAutoRetriesNextServer: 0 #切换实例的重试次数
    15. NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RoundRobinRule #负载策略 调整

    Feign对熔断器的支持

    1. #开启熔断器功能
    2. feign:
    3. hystrix:
    4. enabled: true

    Feign的超时时长设置其实就是Ribbon的超时时长的设置
    Hystrix超时时长也是Hystrix的设置
    注意:
    1.开启Hystrix之后,Feign中的方法都会被进行一个管理,一旦出现问题就进入对应的回退逻辑
    2.针对超时这一点,当前有两个超时时间设置(Feign/hystrix),熔断的时候是根据这两个时间的最小值来进行的,即处理时长超过最短的那个超时时间了就熔断进入回退降级逻辑

    Feign对请求压缩和响应压缩的支持

    1. feign:
    2. hystrix:
    3. enabled: true
    4. #开启请求响应和压缩
    5. compression:
    6. request:
    7. enabled: true #默认不开启
    8. mime-types: text/html,application/xml,application/json #设置压缩的数据类型,也是默认值
    9. min-request-size: 2048 #设置触发压缩的大小下限,此处也是默认值
    10. response:
    11. enabled: true