Skip to content

Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。

安装Sentinel控制台

Sentinel 提供一个轻量级的控制台, 它提供机器发现、单机资源实时监控以及规则管理等功能。

  1. 下载jar包,解压到文件夹:https://github.com/alibaba/Sentinel/releases
  2. 启动控制台
    shell
    # 直接使用jar命令启动项目(控制台本身是一个SpringBoot项目)
    java -Dserver.port=8080 -Dcsp.Sentinel.dashboard.server=localhost:8080 -Dproject.name=Sentinel-dashboard -jar Sentinel-dashboard-1.7.0.jar
  3. 通过浏览器访问localhost:8080 进入控制台 ( 默认用户名密码是 sentinel/sentinel ) Sentinel控制台

集成Sentinel

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

修改配置文件,填写Sentinel地址

yaml
spring:
  cloud:
    sentinel:
      transport:
        port: 9999 #跟控制台交流的端口,随意指定一个未使用的端口即可
        dashboard: localhost:8080 # 指定控制台服务的地址

实现一个接口的限流

  1. 通过控制台为message1添加一个流控规则

  2. 通过控制台快速频繁访问, 观察效果