Hystrix概念

Hystrix 是一个供分布式系统使用,提供延迟和容错功能,保证复杂的分布系统在面临不可避免的失败时,仍能有其弹性。

比如系统中有很多服务,当某些服务不稳定的时候,使用这些服务的用户线程将会阻塞,如果没有隔离机制,系统随时就有可能会挂掉,从而带来很大的风险。SpringCloud使用Hystrix组件提供断路器、资源隔离与自我修复功能。下图表示服务B触发了断路器,阻止了级联失败

feign结合Hystrix使用

在service的pom中添加依赖

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-ribbon</artifactId></dependency><!--hystrix依赖,主要是用  @HystrixCommand --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency><!--服务注册--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--服务调用--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>

在配置文件中添加hystrix配置

#开启熔断机制
feign.hystrix.enabled=true
# 设置hystrix超时时间,默认1000ms
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=6000

在service-edu的client包里面创建熔断器的实现类

@Component
public class VodFileDegradeFeignClient implements VodClient {@Overridepublic R removeVideo(String videoId) {return R.error().message("time out");}@Overridepublic R removeVideoList(List videoIdList) {return R.error().message("time out");}
}

修改VodClient接口的注解

@FeignClient(name = "service-vod", fallback = VodFileDegradeFeignClient.class)
@Component
public interface VodClient {@DeleteMapping(value = "/eduvod/vod/{videoId}")public R removeVideo(@PathVariable("videoId") String videoId);@DeleteMapping(value = "/eduvod/vod/delete-batch")public R removeVideoList(@RequestParam("videoIdList") List videoIdList);
}

SpringCloud熔断器介绍相关推荐

  1. springcloud 熔断器Hystrix的具体使用

    springcloud 熔断器Hystrix的具体使用 说起springcloud熔断让我想起了去年股市中的熔断,多次痛的领悟,随意实施的熔断对整个系统的影响是灾难性的,好了接下来我们还是说正事. 熔 ...

  2. SpringCloud无介绍快使用,子module提供者支付微服务业务开发(六)

    SpringCloud无介绍快使用,子module提供者支付微服务业务开发(六) 问题背景 项目搭建 Lyric: 一只灰狼问候我谁是神枪手 问题背景 从零开始学springcloud微服务项目 注意 ...

  3. SpringCloud无介绍快使用,nacos配置中心的基本使用(十九)

    SpringCloud无介绍快使用,nacos配置中心的基本使用(十九) 问题背景 nacos配置中心 nacos命名空间 Lyric: 我耍你耍的就像土耳其的冰淇 问题背景 从零开始学springc ...

  4. SpringCloud Hystrix介绍以及基于RestTemplate与Feign的改造

    一.Hystrix介绍 Hystrix 是Netfix的一个开源的延迟和容错库,用于隔离访问远程系统.服务或者第三方库,防止服务级联失败,从而提升系统的可用性与容错性.Hystrix主要通过以下几点实 ...

  5. SpringCloud学习(一) SpringCloud 基础介绍

    作者:FrancisQ 链接:https://juejin.cn/post/6844904007975043079 来源:掘金 什么是Spring cloud 构建分布式系统不需要复杂和容易出错.Sp ...

  6. SpringCloud熔断器Hystrix

    微服务:独立的工程之间通过框架形成的一个集群的服务调用:这个集群称之为微服务集群: 微:集群中的工程(服务器),都是独立运行的项目:功能非常单一微小,例如后台的增删改查可以切分成4个独立运行的微服务工 ...

  7. 最新微服务框架SpringCloud Alibaba介绍,搭建

    微服务和SpringCloud Alibaba详细介绍(一),手把手搭建微服务框架 PS:本博客是本人参照B站博主:JAVA阿伟如是说 的视频讲解手敲整理的笔记 跟着一起手动搭建的框架 供大家一起学习 ...

  8. SpringCloud相关概念介绍

    什么是Spring Cloud Spring Cloud是一系列框架的集合.它利用Spring Boot的开发便利性简化了分布式系统基础设施的开发,如服务发现.服务注册.配置中心.消息总线.负载均衡. ...

  9. springcloud熔断器

    熔断器 作用: 某个服务的单个点的请求故障会导致用户的请求处于阻塞状态,最终的结果就是整个服务的线程资源消耗殆尽.由于服务的依赖性,会导致依赖于该故障服务的其他服务也处于线程阻塞状态,最终导致这些服务 ...

最新文章

  1. docker使用mongo_如何使用Docker在AWS上部署Mongo:初学者的权威指南
  2. app获取个人信息是否合法_APP隐私合规介绍和实施方案
  3. Class.forName有什么作用
  4. 三十、电子商务分析与服务推荐的分析方法与过程
  5. double 四舍五入保留一定的位数
  6. float,double等精度丢失问题
  7. bmp怎么编辑底色_非标机械设计这个行业前景怎么样
  8. NVIDIA Physix Unity3D
  9. UI设计实用素材|寻找一种新的方法来设计网站,单页网站
  10. python爬虫使用selenium模拟登陆人人网
  11. Python自然语言处理学习笔记(64): 7.5 命名实体识别
  12. 深度学习caffe:损失函数
  13. 分贝噪音测试软件文件存储,手机分贝噪音测试软件
  14. intellij idea 主题下载网站
  15. python 扫描枪_python实现超市扫码仪计费
  16. Word转换PDF技巧之通过虚拟打印机生成pdf格式文件
  17. 笔记本手机都能用的充电器,做的只有乒乓球大小,AOHi 65W氮化镓充电器体验
  18. 各种电机原理动态图(直流电机是切割磁力线产生感应电动势,交流电机是改变线圈中的磁场强度产生感应电动势,旋转磁场)
  19. 一文搞懂 Redis
  20. 整理的最新版的K8S安装教程,看完还不会,请你吃瓜

热门文章

  1. 简化Redis数据访问代码RedisTemplate
  2. JavaScript---Ajax和函数回调,异步编程
  3. 统计十进制数的二进制数1的个数
  4. Tuxedo学习门户网站
  5. 演练:在 Windows 窗体中承载 Windows Presentation Foundation 复合控件 【转载】
  6. 用java分组查elasticsearch
  7. Mysql表分区的选择与实践小结
  8. 每周一书《Spark与Hadoop大数据分析》分享!
  9. centos7安装配置rsync以及遇到问题
  10. GitLab安装配置使用总结