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();
}

在控制台设置限流方法等

相关推荐
搬砖天才、9 小时前
日常记录-redis主从复制(master-slave)+ Sentinel 哨兵(高可用)
数据库·redis·sentinel
是赵敢敢啊10 小时前
sentinel
sentinel
东阳马生架构1 天前
Sentinel源码—9.限流算法的实现对比二
算法·sentinel
东阳马生架构1 天前
Sentinel源码—9.限流算法的实现对比一
算法·sentinel
东阳马生架构2 天前
Sentinel源码—9.限流算法的实现对比
sentinel
东阳马生架构2 天前
Sentinel源码—7.参数限流和注解的实现二
java·sentinel
东阳马生架构2 天前
Sentinel源码—8.限流算法和设计模式总结一
算法·sentinel
东阳马生架构3 天前
Sentinel源码—8.限流算法和设计模式总结
sentinel
东阳马生架构4 天前
Sentinel源码—6.熔断降级和数据统计的实现二
java·sentinel
Pasregret4 天前
责任链模式:从 Sentinel 流控到审批流程的链式处理
sentinel·责任链模式