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

SpringCloud sentinel服务熔断 服务降级

在https://github.com/alibaba/Sentinel/releases下载最新版本sential jar包

打开cmd,输入java -jar xxx.jar 启动sentinel 服务端

通过观察cmd 日志输出sentinel基于springboot 2.5 开发

INFO: Sentinel log output type is: file
INFO: Sentinel log charset is: utf-8
INFO: Sentinel log base directory is: C:\Users\logs\csp\
INFO: Sentinel log name use pid is: false
INFO: Sentinel log level is: INFO.   ____          _            __ _ _/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/  ___)| |_)| | | | | || (_| |  ) ) ) )'  |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot ::               (v2.5.12)

打开

http://localhost:8080/ 用户名密码都是sentinel  打开控制台页面​​​​​http://localhost:8080/#/dashboard/flow/demo1springboot项目引入依赖

spring-cloud-starter-alibaba-sentinel

坐标参考

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId><version>2023.0.3.3</version>
</dependency>

properties增加配置:

spring.cloud.sentinel.transport.dashboard= localhost:8080
spring.cloud.sentinel.transport.port= 8719
feign.sentinel.enabled=true

在service 中@FeignClient增加项,fallbackFactory 指向TestfallbackFactory对象

@FeignClient(name = "demo1",fallbackFactory = TestFallbackFactory.class,configuration = FeignConfig.class)
public interface FeignService {@GetMapping(value = "test")User test();
}@Component
public class TestFallbackFactory implements FallbackFactory<FeignService> {@Overridepublic FeignService create(Throwable cause) {return new FeignService() {@Overridepublic User test() {System.out.println("fallback");return new User();}};}
}@Configuration
public class FeignConfig {@BeanLogger.Level feignLoggerLevel() {// 设置日志级别为FULL以获取最详细的日志信息return Logger.Level.FULL;}}

至此,客户端就配置好了

服务端打开http://localhost:8080/

点击簇点链路菜单

对调用的微服务设置并发1 使之进入fallback

打开浏览器调用t1方法 一顿狂刷新

可以看到有时候返回正常

有时候返回fallback设置的对象

测试正常,超过并发1进入fallback,否则正常返回

http://www.dtcms.com/a/294017.html

相关文章:

  • 一个没有手动加分号引发的bug
  • python---元组(Tuple)
  • C#简介(从入门到精通)
  • 判断矩形能否放入多边形内——cad c# 二次开发实现
  • 【服务器】 MCTP Over PCIe 的内容、用途、工作原理及硬件设计注意事项
  • 数据结构(2)顺序表算法题
  • C#使用socket报错 System.Net.Sockets.SocketException:“在其上下文中,该请求的地址无效。
  • .net平台的跨平台桌面应用开发的技术方案总结对比
  • 【黑马SpringCloud微服务开发与实战】(六)分布式事务
  • Matlab学习笔记:逻辑基础
  • PyTorch武侠演义 第一卷:初入江湖 第6章:驿站的秘密信鸽
  • Apache JMeter 使用记录踩坑
  • 前端模块化:CommonJS 与 ES Module
  • 性能测试-jmeter实战5
  • 4️⃣字典(dict)速查表
  • I2C控制器
  • 传统RNN模型笔记:输入数据长度变化的结构解析
  • 通用图片 OCR 到 Word API 数据接口
  • 数据结构自学Day13 -- 快速排序--“前后指针法”
  • 显微科研中的关键选择:不同显微镜相机技术特性与应用适配性全面解析
  • SpringCloudGateWay 使用nacos网关自动负载均衡
  • nrm指南
  • Sklearn 机器学习 线性回归
  • 解决sparksql创建出来的数据库路径错误的问题
  • Docker Desktop 打包Unity WebGL 程序,在Docker 中运行Unity WebGL 程序
  • Unity国际版下载链接分享(非c1国内版)
  • Java面试题035:一文深入了解Docker
  • SQL基础⑧ | 表格篇
  • Android插件化实现方案深度分析
  • 智能小e-外联系统文档