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

7、sentinel

控制台访问地址:http://localhost:8080/
在这里插入图片描述

依赖

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

配置文件

spring:cloud:sentinel:transport:dashboard: localhost:8080# 不用等到第一次发送请求,就可以连接到控制台eager: true
feign:sentinel:# 开启兜底返回 @FeignClient(value = "ms2", fallback = Ms2FeignFallBack.class)enabled: true

流量控制

比如QPS=1,1s只能处理一个请求,其余请求会走异常处理方法(直接失败的情况下),也可以设置其他请求排队。

对controller方法流控

/*** 处理controller接口的被限流后的异常处理操作*/
@Component
public class MyBlockExceptionHandler implements BlockExceptionHandler {@Overridepublic void handle(HttpServletRequest request, HttpServletResponse response, BlockException e) throws Exception {response.setContentType("application/json;charset=utf-8");Map<String, Object> map = new LinkedHashMap<>();map.put("code", 500);map.put("msg", "sentinel限流:" + e.getClass());String string = new ObjectMapper().writeValueAsString(map);PrintWriter writer = response.getWriter();writer.write(string);writer.flush();writer.close();}
}

对@SentinelResource(value = “sm”, blockHandler = “smFallBack”)修饰的方法流控

public String smFallBack(String uuid, BlockException blockException) {return uuid + blockException.getClass();
}

对feign方法流控

Ms2Feign

@FeignClient(value = "ms2", fallback = Ms2FeignFallBack.class)
public interface Ms2Feign {
}

Ms2FeignFallBack

@Component
public class Ms2FeignFallBack implements Ms2Feign {@Overridepublic String aa() {return "aa的兜底回调函数";}@Overridepublic String bb(String name, int age) {return null;}@Overridepublic String cc(String name, int age) {return null;}@Overridepublic String dd(FeignEntity feignEntity) {return null;}@Overridepublic String ee(Map<String, Object> reqMap) {return null;}@Overridepublic String ff(String auth, Map<String, Object> reqMap) {return null;}
}

熔断

开启熔断器后,超时会走熔断方法,不会再去调feign方法,直到熔断器关闭。
未开启熔断器,每次都会调,超时再走熔断方法。

在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/628.html

相关文章:

  • Sentinel源码—6.熔断降级和数据统计的实现二
  • 深入浅出:LDAP 协议全面解析
  • 微前端框架 Wujie
  • Transformer系列(二):自注意力机制框架
  • 【2025最新redis数据结构之Hypeloglog介绍】关于Hypeloglog
  • JBoss + WildFly 本地开发环境完全指南
  • 卷积神经网络综述
  • 【重走C++学习之路】14、多态
  • 第二十节:项目经验-描述一个React性能优化案例
  • 21. git apply
  • 时序预测 | Transformer-LSTM-SVM时间序列预测(Matlab完整源码和数据,适合基础小白研究)
  • 《前端面试题之 Vue 篇(第三集)》
  • 【滑动窗口】找到字符串中所有字⺟异位词(medium)
  • 计算机组成原理笔记(十六)——4.1基本算术运算的实现
  • 8、constexpr if、inline、类模版参数推导、lambda的this捕获---c++17
  • 【滑动窗口】串联所有单词的⼦串(hard)
  • 常用的几种 Vue 父子组件传值方式
  • redis+lua脚本
  • 【英语语法】词法---动词
  • hadoop分布式部署
  • Linux `init 5` 相关命令的完整使用指南
  • Android学习总结之APK打包流程
  • 【踩坑记录】Pico串流SteamVR绿屏解决方案:排查兼容性问题与Windows系统升级指南
  • STM32 HAL库FreeRTOS 中断管理
  • XSS学习1之http回顾
  • 【读书笔记·VLSI电路设计方法解密】问题63:为什么可测试性设计对产品的财务成功至关重要
  • 机器学习周报-文献阅读
  • FastAPI-MCP
  • 8节串联锂离子电池组可重构buck-boost均衡拓扑结构 simulink模型仿真
  • 个人所得税