Hystrix 的默认超时时间 :1s

OpenFeign底层是使用 ribbon实现的 默认连接超时时间 : 1s

修改连接超时时间配置(OpenFeign):

#设置feign客户端超时时间
ribbon:ReadTimeout: 6000 #指的是建立连接所用得时间,适用于网络状况正常的情况下,两端连接所用的时间(6s)ConnectTimeout: 6000 #指的是建立连接后从服务器读取到可用资源所用的时间(6s)

修改Hystrix超时时间(即达到服务降级时间)配置:

hystrix:command:default:execution:isolation:thread:#feign整合hystrix 光设置Hystrix超时没用的 要配合ribbon超时timeoutInMilliseconds: 6000

被调用服务(服务端)使用 Hystrix(断路器)的配置:

添加依赖:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>

1.在启动类加上注解: @EnableCircuitBreaker

2.在application.yml中修改超时时间(即服务降级时间的阈值)

3.在service实现类中某个方法中实现服务降级配置

    (1) 方法指定服务降级方法的配置(即一个方法配置一个服务降级方法)
 @HystrixCommand(fallbackMethod = "paymentInfo_timeOutHandler",commandProperties = {@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds",value = "5000")})


其中 paymentInfo_timeOutHandler 是服务降级后执行的方法; value 是服务降级的阈值(时间 5s)。

4.通用服务降级的配置(即 任何方法都共用一个服务降级的方法)

(1)在service类前加入注解 @DefaultProperties(defaultFallback = “payment_global_fallback_method”

其中 payment_global_fallback_method 是服务降级后执行的方法
(2)在需要进行服务降级的方法前加入注解 @HystrixCommand 即可。

(3)此时的服务降级阈值(时间)根据application.yml所配置(若没配置,则使用默认时间1s)的降级阈值时间判断是否需要对服务进行降级。

实现调用端(客户端)
添加依赖:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

application 配置:

#允许服务降级配置
feign:hystrix:enabled: true
#设置feign客户端超时时间
ribbon:ReadTimeout: 6000 #指的是建立连接所用得时间,适用于网络状况正常的情况下,两端连接所用的时间(5s)ConnectTimeout: 6000 #指的是建立连接后从服务器读取到可用资源所用的时间(5s)
hystrix:command:default:execution:isolation:thread:#feign整合hystrix 光设置Hystrix超时没用的 要配合ribbon超时timeoutInMilliseconds: 6000

在启动类上加入注解@EnableHystrix

降级服务配置:类似服务端的配置。

注:此处涉及三处的服务降级的阈值时间。
1.application中配置的 hystrix (或者没配置,则是默认)阈值时间
2.application中配置的 ribbon (OpenFeign)连接超时阈值时间
3. @HystrixCommand 中设置的服务降级阈值的时间

系统会根据这三个时间中最小的时间判断是否需要进行服务降级。如 hystrix 配置为3s, ribbon 配置为5s, @HystrixCommand 设置为2s,则服务等待时间超过2s后则进行服务降级

OpenFeign 整合 Hystrix 实现服务降级相关推荐

  1. 手把手教你搭建SpringCloud项目(十)集成Hystrix之服务降级

    Spring Cloud全集文章目录: 零.什么是微服务?一看就会系列! 一.手把手教你搭建SpringCloud项目(一)图文详解,傻瓜式操作 二.手把手教你搭建SpringCloud项目(二)生产 ...

  2. SpringCloud进阶-Hystrix的服务降级

    提示:本文主要对Hystrix的服务降级进行总结 文章目录 前言 一.服务降级 1.1 8001 fallback 1.1.1 业务类启用 1.1.2 主启动类激活 1.2 80 fallback 1 ...

  3. Hystrix之服务降级

    springcloud的组件Hystrix一个重要的作用就是实现服务降级,下面介绍相关的使用 一 服务支付方的服务降级 首先介绍服务支付方的服务降级,这里的注册中心使用eureka 1 关于pom.p ...

  4. Hystrix之服务降级代码演示

    所有代码都在github上:https://github.com/demonruin/cloud2020/tree/master 服务降级就是指服务器忙,请稍候再试,不让客户端等待并立刻返回一个友好提 ...

  5. Hystrix断路器原理及实现(服务降级、熔断、限流)

    Hystrix断路器原理及实现(服务降级.熔断.限流) 分布式系统面临的问题 Hystrix重要概念(面试常考) Hystrix案例 Hystrix 服务提供者 Hystrix 服务消费者 原因与解决 ...

  6. Spring Cloud H (五)初战服务降级和熔断Hystrix(豪猪哥)

    目录 目录 前言 概述 服务雪崩 服务限流 服务降级 服务熔断 如何理解服务降级和熔断之间的关系 代码实战 Hystrix支付微服务构建 订单微服务调用支付服务出现卡顿 Hystrix之服务降级支付侧 ...

  7. 微服务(八)——Hystrix服务降级、熔断、限流(上)

    目录 Hystrix服务降级.熔断.限流 Hystrix是什么 Hystrix停更进维 Hystrix的服务降级熔断限流相关概念 Hystrix支付微服务构建 JMeter高并发压测后卡顿 订单微服务 ...

  8. 微服务之服务降级Hystrix

    B站尚硅谷P47~P64 代码Gitee地址 以上次博客的eureka集群作为注册中心来演示. 虽然豪猪哥已经停止更新了,但设计理念非常优秀. 1. Hystrix 1.1 为什么引入Hystrix ...

  9. SpringCloud微服务-服务注册发现-负载均衡-服务调用-服务降级-服务网关-配置中心-消息总线-消息驱动-链路追踪-alibaba-nacos-sentinel-seata理论原理分析

    SpringCloud理论技术 概述 ​ Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总 ...

最新文章

  1. System.Transactions:实现你自己的Resource Manager
  2. Intent进阶 和 Intent-filter 学习笔记
  3. python计算n的32次方_获得用户输入的一个整数N,计算并输出N的32次方。_学小易找答案...
  4. Windows 10 的新 bug 可导致任意文件被覆写
  5. linux 进程 setuid,linux特殊权限位之setuid、setgid和sticky
  6. pandas中inplace_pandas中inplace参数
  7. DataGrip按某列大小对数据集进行排序
  8. Hadoop入门(九)Mapreduce高级shuffle之Combiner
  9. ictclas4j 分词工具包 安装流程
  10. css flex 小记
  11. 一招教你数据仓库如何高效批量导入与更新数据
  12. xmind快捷键_小冰笔记 | 请在XMIND里写下你的MIND!
  13. 存储过程中进行循环处理数据
  14. 聪明人懂得深交四种人,绝交三种人!
  15. java ee 思维导图
  16. Python中如何将浮点型数据转换成整型
  17. 树的直径/重心 学习笔记
  18. SpringBoot Jar包构建源码分析
  19. CF Pairs of Topics
  20. “永恒之蓝”(Wannacry)蠕虫全球肆虐 安装补丁的方法

热门文章

  1. mysql的开题报告_开题报告可以随便写吗(数据库 开题报告)
  2. MATLAB filter2
  3. javascript 函数节流 throttle 解决函数被频繁调用、浏览器卡顿的问题
  4. 李开复:真正成功的公司源于伟大的创业理念
  5. 44-【kubernetes】kubernetes集群中,如何安装weave命令+如何安装weave插件+如何修改weave的默认网段(10.32.0.0/12)
  6. html鼠标滑过导航栏变色,JavaScript实现鼠标点击导航栏变色特效
  7. 《失业的程序员》(九):创业就是一场戏
  8. 什么是过拟合和欠拟合,怎么解决?
  9. 阿里云服务器价格:阿里云第六代云服务器最新价格表
  10. 【四、五、六月份国际学术会议合集】