9.Sentinel哨兵

1.Sentinel

Sentinel(哨兵)是由阿里开源的一款流量控制和熔断降级框架,用于保护分布式系统中的应用免受流量涌入、超载和故障的影响。它可以作为微服务架构中的一部分,用于保护服务不被异常流量冲垮,从而提高系统的稳定性和可靠性。

1.1 Sentinel下载

https://github.com/alibaba/Sentinel/releaseshttps://github.com/alibaba/Sentinel/releases 命令行启动

java -Dserver.port=8858 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.2.jar

1.2 Sentinel使用

导入依赖

XML 复制代码
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
    <version>2.2.9.RELEASE</version>
</dependency>

配置主配置类

java 复制代码
spring:
  application:
    name: cart
  cloud:
    sentinel:
      transport:
        dashboard: 192.168.5.224:8858

网页端访问http://192.168.5.224:8858 (登录账号和密码默认都是sentinel)

1.3 Sentinel实现服务降级、限流

服务降级是一种在系统遇到异常情况或高负载时,为了保证核心功能的稳定性和可用性,暂时关闭某些非核心功能或者提供简化的服务。通过服务降级,系统可以在异常情况下继续正常运行,而不至于因为异常情况导致整个系统不可用。

方法上添加注解SentinelResource

falback:降级;addFallBack:降级方法的名字;blockHandler:限流;

java 复制代码
@SentinelResource(fallback = "addFallBack", blockHandler = "addBlockHandler")
@GetMapping("/test")
public String test(){
    return "cart";
}
public String addFallBack(){
    return "fallback";
}
//限流方法
public String addBlockHandler(BlockException e){
    return e.getMessage();
}

在控制台设置限流方法等

相关推荐
凯基迪科技3 天前
圣天诺Sentinel LDK加密锁复制难点逆向分析
sentinel
Promising_GEO11 天前
GEE实战02期:从卫星波段开始:利用 Sentinel-2 自己计算 NDVI
java·sentinel·遥感·空间分析
我不会起名字32213 天前
Redis 从 0 到 1(九):主库宕机 30 秒自动切主——1 主 2 从 3 哨兵 + Go 客户端
redis·docker·sentinel·高可用·哨兵
Msshu12313 天前
PD快充诱骗取电芯片工作原理,XSP17诱骗取电5V9V12V15V20V功能测试
spring boot·spring cloud·sentinel·java-rocketmq·java-zookeeper·java-consul·java-activemq
流烟默17 天前
Spring Cloud 微服务 Sentinel 热点参数与授权规则集成指南(附架构建议)
spring cloud·微服务·架构·sentinel
Thomas.Sir18 天前
第23课:Sentinel熔断降级、系统自适应保护、集群限流
spring cloud·sentinel
jyOverQ19 天前
Redis 主从复制、Sentinel 和 Cluster 到底有什么区别?
java·redis·sentinel
流烟默21 天前
网关 Sentinel 限流实战:API 分组、规则加载与全量匹配踩坑记
nacos·gateway·sentinel·流控规则
guo_wen_qiang25 天前
云服务器sentinel搭建-控制台
服务器·sentinel
guo_wen_qiang25 天前
项目使用sentinel遇到的问题
java·sentinel