SpringCloud熔断器介绍
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熔断器介绍相关推荐
- springcloud 熔断器Hystrix的具体使用
springcloud 熔断器Hystrix的具体使用 说起springcloud熔断让我想起了去年股市中的熔断,多次痛的领悟,随意实施的熔断对整个系统的影响是灾难性的,好了接下来我们还是说正事. 熔 ...
- SpringCloud无介绍快使用,子module提供者支付微服务业务开发(六)
SpringCloud无介绍快使用,子module提供者支付微服务业务开发(六) 问题背景 项目搭建 Lyric: 一只灰狼问候我谁是神枪手 问题背景 从零开始学springcloud微服务项目 注意 ...
- SpringCloud无介绍快使用,nacos配置中心的基本使用(十九)
SpringCloud无介绍快使用,nacos配置中心的基本使用(十九) 问题背景 nacos配置中心 nacos命名空间 Lyric: 我耍你耍的就像土耳其的冰淇 问题背景 从零开始学springc ...
- SpringCloud Hystrix介绍以及基于RestTemplate与Feign的改造
一.Hystrix介绍 Hystrix 是Netfix的一个开源的延迟和容错库,用于隔离访问远程系统.服务或者第三方库,防止服务级联失败,从而提升系统的可用性与容错性.Hystrix主要通过以下几点实 ...
- SpringCloud学习(一) SpringCloud 基础介绍
作者:FrancisQ 链接:https://juejin.cn/post/6844904007975043079 来源:掘金 什么是Spring cloud 构建分布式系统不需要复杂和容易出错.Sp ...
- SpringCloud熔断器Hystrix
微服务:独立的工程之间通过框架形成的一个集群的服务调用:这个集群称之为微服务集群: 微:集群中的工程(服务器),都是独立运行的项目:功能非常单一微小,例如后台的增删改查可以切分成4个独立运行的微服务工 ...
- 最新微服务框架SpringCloud Alibaba介绍,搭建
微服务和SpringCloud Alibaba详细介绍(一),手把手搭建微服务框架 PS:本博客是本人参照B站博主:JAVA阿伟如是说 的视频讲解手敲整理的笔记 跟着一起手动搭建的框架 供大家一起学习 ...
- SpringCloud相关概念介绍
什么是Spring Cloud Spring Cloud是一系列框架的集合.它利用Spring Boot的开发便利性简化了分布式系统基础设施的开发,如服务发现.服务注册.配置中心.消息总线.负载均衡. ...
- springcloud熔断器
熔断器 作用: 某个服务的单个点的请求故障会导致用户的请求处于阻塞状态,最终的结果就是整个服务的线程资源消耗殆尽.由于服务的依赖性,会导致依赖于该故障服务的其他服务也处于线程阻塞状态,最终导致这些服务 ...
最新文章
- docker使用mongo_如何使用Docker在AWS上部署Mongo:初学者的权威指南
- app获取个人信息是否合法_APP隐私合规介绍和实施方案
- Class.forName有什么作用
- 三十、电子商务分析与服务推荐的分析方法与过程
- double 四舍五入保留一定的位数
- float,double等精度丢失问题
- bmp怎么编辑底色_非标机械设计这个行业前景怎么样
- NVIDIA Physix Unity3D
- UI设计实用素材|寻找一种新的方法来设计网站,单页网站
- python爬虫使用selenium模拟登陆人人网
- Python自然语言处理学习笔记(64): 7.5 命名实体识别
- 深度学习caffe:损失函数
- 分贝噪音测试软件文件存储,手机分贝噪音测试软件
- intellij idea 主题下载网站
- python 扫描枪_python实现超市扫码仪计费
- Word转换PDF技巧之通过虚拟打印机生成pdf格式文件
- 笔记本手机都能用的充电器,做的只有乒乓球大小,AOHi 65W氮化镓充电器体验
- 各种电机原理动态图(直流电机是切割磁力线产生感应电动势,交流电机是改变线圈中的磁场强度产生感应电动势,旋转磁场)
- 一文搞懂 Redis
- 整理的最新版的K8S安装教程,看完还不会,请你吃瓜