如果不对Sentinel进行持久化,一旦服务器断开,那我们配置的限流规则就不存在了。官方推荐了使用Sentinel持久化到Nacos,至于为什么这样,不推荐一家的产品,留着过年呀!

Sentinel+Nacos实现Sentinel的持久化规则,就很nice!_启动服务

文章目录


1、导入依赖

<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>

sentinel-datasource-nacos这个依赖从名字也可以看出是连接sentinel和nacos的,也就是持久化到nacos

2、配置文件修改

server:
port: 9090
spring:
application:
name: sentinel-ribbon-consumer #服务名
cloud:
nacos:
discovery:
server-addr: xxxx:8848 #nacos中心地址
sentinel:
transport:
dashboard: 127.0.0.1:8080 # sentinel服务地址
port: 8719#sentinel分为client和控制面板,client启动后需要每隔一段时间向控制面板发送心跳,这个端口就是完成相关工作,如果8719被占用就会加一,一直到8080
datasource:
ds1:
nacos:
server-addr: xxxx:8848
dataId: sentinel-ribbon-consumer
groupId: DEFAULT_GROUP
data-type: json
rule-type: flow
feign:
sentinel:
enabled: true

Sentinel+Nacos实现Sentinel的持久化规则,就很nice!_启动服务_02


Sentinel+Nacos实现Sentinel的持久化规则,就很nice!_持久化_03

3、启动服务

访问sentinel控制台,点击流控规则就直接可以看到如下结果

Sentinel+Nacos实现Sentinel的持久化规则,就很nice!_sentinel_04


持久化成功!

Sentinel+Nacos实现Sentinel的持久化规则,就很nice!_spring_05