springcloud的组件Hystrix一个重要的作用就是实现服务降级,下面介绍相关的使用

一 服务支付方的服务降级

首先介绍服务支付方的服务降级,这里的注册中心使用eureka

1 关于pom、properties以及主启动类的配置

pom文件的核心依赖

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId><version>2.2.1.RELEASE</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>

properties的配置

server.port=8001spring.application.name=cloud-provider-hystrix-paymenteureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.service-url.defaultZone=http://localhost:7001/eureka

主启动类加上eureka以及Hystrix的驱动注解

@SpringBootApplication
@EnableEurekaClient
@EnableCircuitBreaker
public class CloudProviderHystrixPayment8001Application {public static void main(String[] args) {SpringApplication.run(CloudProviderHystrixPayment8001Application.class, args);}}
2 实际代码的编写

完成相关环境的搭建后就是要进行代码的编写
在这里服务降级的相关代码在service层进行实现
这里使用的核心注解为@HystrixCommand

首先写出原本的业务逻辑方法

    @HystrixCommand(fallbackMethod = "fallback",commandProperties = {@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds",value = "3000")})public String paymentInfo_timeout(Integer id){try {TimeUnit.SECONDS.sleep(5);} catch (InterruptedException e) {e.printStackTrace();}return "timeout线程池" + Thread.currentThread().getName()+"\tid="+id;}

在注解@HystrixCommand

  • 通过属性fallbackMethod设置降级方法为fallback
  • 在属性commandProperties设置超时时间为3秒

接下来就是编写降级方法fallback,注意返回值类型,方法参数列表要与原方法保持一致

public String fallback(Integer id){return "sry,业务请求超时";}
3 小结

完成相关配置后如果原业务方法的执行超过设置的执行时间或者出现运行时异常,即启用降级方法,进行服务降级



二 服务订单测的服务降级

通常hystrix进行服务降级都是使用在服务端,但是也可以在订单端进行自己的服务降级,这里简单介绍一下

1 关于pom、properties以及主启动类的配置

pom的核心依赖与上面一样
这里properties须添加

feign.hystrix.enabled=true

主启动类添加注解

@EnableHystrix
2 代码的编写

代码的编写也与上面的类似,主要就是注解@HystrixCommand的使用

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之服务降级代码演示

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

  4. OpenFeign 整合 Hystrix 实现服务降级

    Hystrix 的默认超时时间 :1s OpenFeign底层是使用 ribbon实现的 默认连接超时时间 : 1s 修改连接超时时间配置(OpenFeign): #设置feign客户端超时时间 ri ...

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

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

  6. 微服务之服务降级Hystrix

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

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

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

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

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

  9. 微服务服务降级与熔断

    目录 1:服务降级 1.1 feign实现服务降级 1.2 Hystrix实现服务降级 2:服务熔断 2.1 熔断机制 2.2 Consumer侧引入pom 2.3 在Consumer侧启动类开启熔断 ...

最新文章

  1. oracle10默认备份路径,oracle 10g RMAN备份及恢复
  2. HoloLens再添一应用领域!Microsoft和Trimble联手开启设施管理新篇章!
  3. 由点到面(面试经验)
  4. stm32怎么查看什么原因引起的nmi_为什么会有口臭,口臭是什么原因引起的,口臭是怎么回事...
  5. Java集合TreeSet
  6. MySql 插入数据中文乱码
  7. java 数据截断_java – 数据截断:第1行的列’标志’的数据太长
  8. 使用Executor管理Thread对象详解
  9. titanic数据集_数据可视化泰坦尼克号图表预测
  10. C# 登陆验证码工具类VerifyCode
  11. DsoFramer-辛酸泪史
  12. leadbbs在2003中的设置
  13. STM32单片机+proteus8仿真的简易交通灯设计
  14. 一口气读完系列最穷的穷光蛋
  15. 迪文屏中关于MODBUS的接口配置
  16. npm安装依赖包报ERR问题汇总及处理
  17. 写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出。
  18. 2020香港公司开户的一些个人见解?香港银行开户免踩坑。
  19. mysql 怎么同时删除两张表的数据库,mysql怎样删除多个表格数据库数据_数据库
  20. Arcgis地图服务切片

热门文章

  1. NetBSD IPv6环境建立
  2. Linux查看用户及其权限管理
  3. webpack5+vue3+element-plus 导入AutoImport报错问题
  4. Python PIL库 安装
  5. 热门开源网关的性能对比:Goku Kong Tyk
  6. python pprint模块_pprint模块介绍
  7. 别让幸存者的经历塑造我们的认知,多去墓地走走
  8. Linux kworker 占用CPU过高
  9. 阿里妈妈总经理漫天:互联网营销的6大思路
  10. 群名:IT技术交流中心;群号:15672783