当前位置: 首页 > news >正文

微服务-SpringCloud: 熔断保护Sentinel

Sentinel支持信号量隔离(不支持线程池隔离),多种熔断降级策略,支持QPS流量控制。Sentinel是Hystrix的替代方案。

Sentinel的核心概念:资源,规则,检验规则是否生效。

1.Sentinel的使用

①安装管理控制台(去官网下载对应的jar包,注意启动脚本中jar的版本)

②将所有微服务交给控制台管理

在微服务中引入依赖和增加配置(这里注意Sentinel是懒加载,在接收到请求之后才能在控制台看到数据,也可以在控制台配置各种规则)

 ③对服务的熔断保护

  ④Sentinel的简单原理

  2.Sentinel的本地配置(因为控制台的配置是在内存中存储的,重启之后就会失效)

配置项

本地限流规则配置: 

 

 3.Sentinel对Template调用的全局熔断保护

在RestTemplate的Bean上增加@SentinelRestTemplate注解并配置熔断降级的类和方法或者异常降级的类和方法

 这里注意降级方法的中返回值SentinelClientHttpResponse中需要的设置成对应返回值的JSON字符串,否则会发生JSON解析异常。

4.Sentinel对Feign的全局降级配置 

①引入依赖

 ②配置开启Sentinel支持 

 ③编写降级类

和Hystrix对Feign的熔断降级类似,配置完成后可以在控制台配置规则。

 

5.总结

Sentinel是由阿里巴巴开发的熔断保护组件,支持灵活的配置规则(例如限流规则,熔断规则)

相关文章:

  • @JsonFormat与@DateTimeFormat注解的使用
  • SpringBoot入门 -Security安全控制
  • 数据仓库建模
  • Zipkin分布式系统调用链追踪
  • 从零开始搭建Prometheus自动监控报警系统
  • 2019版本IDEA 使用mybatis插件Free Mybatis plugin
  • SpringMVC 中 @ControllerAdvice 注解的三种使用场景
  • Java 枚举
  • Zabbix 3.0 从入门到精通(zabbix使用详解)
  • Spring中IOC的优点与缺点
  • Complex类的实现
  • Java装配模式
  • 归并排序(递归实现)
  • 归并排序(非递归)
  • Java中final、finally和finalize的区别
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • AWS实战 - 利用IAM对S3做访问控制
  • canvas 绘制双线技巧
  • co.js - 让异步代码同步化
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • iOS编译提示和导航提示
  • Java面向对象及其三大特征
  • Mysql优化
  • 构建工具 - 收藏集 - 掘金
  • 将回调地狱按在地上摩擦的Promise
  • 日剧·日综资源集合(建议收藏)
  • 如何实现 font-size 的响应式
  • 设计模式走一遍---观察者模式
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (2)STM32单片机上位机
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (二)Linux——Linux常用指令
  • (南京观海微电子)——COF介绍
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • .net 7 上传文件踩坑
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET 反射 Reflect
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .net经典笔试题
  • .NET下ASPX编程的几个小问题
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • [AIGC] Java 和 Kotlin 的区别
  • [android]-如何在向服务器发送request时附加已保存的cookie数据
  • [C++] sqlite3_get_table 的使用
  • [DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]
  • [git] windows系统安装git教程和配置
  • [Go WebSocket] 多房间的聊天室(五)用多个小锁代替大锁,提高效率
  • [hdu 3065] 病毒侵袭持续中 [AC自动机] [病毒特征码匹配]
  • [LeeCode]-Divide Two Integers 不用乘除的除法运算