步骤:
- sentinel客户端/微服务注册到Nacos
- Sentinel开启Nacos同步
- Nacos需要能够持久化 Nacos持久化
缺点:
不能在Sentinel页面修改,推送到Nacos,直接在Nacos端修改,然后,立即能在Sentinel页面看到,并且生效。
加依赖
<!-- sentinel 持久化-->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
<!-- 服务注册-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
加注解
启动类加@EnableDiscoveryClient
修改配置文件
spring:
application:
name: consumer-center
cloud:
nacos:
discovery:
server-addr: localhost:8848
sentinel:
transport:
dashboard: localhost:8080
datasource:
#流控规则
flow:
nacos:
server-addr: localhost:8848
dataId: ${spring.application.name}-flow-rules
groupId: SENTINEL_GROUP
rule-type: flow
#熔断降级规则
degrade:
nacos:
server-addr: localhost:8848
dataId: ${spring.application.name}-flow-rules
groupId: SENTINEL_GROUP
rule-type: degrade
#系统规则
system:
nacos:
server-addr: localhost:8848
dataId: ${spring.application.name}-system-rules
groupId: SENTINEL_GROUP
rule-type: system
#授权规则
authority:
nacos:
server-addr: localhost:8848
dataId: ${spring.application.name}-authority-rules
groupId: SENTINEL_GROUP
rule-type: authority
#热点规则
param-flow:
nacos:
server-addr: localhost:8848
dataId: ${spring.application.name}-param-flow-rules
groupId: SENTINEL_GROUP
rule-type: param-flow
验证:
- 在Nacos创建配置:
- Sentinel立马能看到,并且生效。
- 检查数据库:
- 可以停掉微服务,继续验证
- 在Sentinel端修改流控规则,未保存至Nacos