Spring Cloud Alibaba Sentinel 整合 nacos 进行规则持久化

在使用过程中我们发现在Sentinel 控制台中配置了规则之后,随着服务的重启,配置的规则也随之消失。Sentinel 控制台控制台默认是将这些规则保存在内存中,服务没了,规则也没了。试想一下如果我们配置了很多规划或者是因为某种原因服务挂掉了,那我们配置的数据也就丢失了,显然这不是我们想要的。

Sentinel将规则存储在文件、数据库或者配置中心当中,Sentinel默认提供的数据源有file、zookeeper、Redis、consul、apollo、nacos,当然也可以自己自定义数据源。

快速开始

下面就以nacos 做为数据源来演示一下Sentinel的限流规划持久化,项目还是沿用上一篇文章的。 分别启动nacos server 和 Sentinel控制台。

  1. 引入依赖

    com.alibaba.cloud
    spring-cloud-starter-alibaba-sentinel



   com.alibaba.cloud
    spring-cloud-alibaba-sentinel-datasource



    com.alibaba.csp
    sentinel-datasource-nacos

复制代码

sentinel-datasource-nacos 不需要填写版本号,因为在spring-cloud-alibaba-sentinel-datasource已经配置了。

  1. 修改配置文件
server.port=8085
# 服务名
spring.application.name=SentinelProvider

#
spring.cloud.sentinel.transport.port=8719
# dashboard 地址
spring.cloud.sentinel.transport.dashboard=127.0.0.1:8080

spring.cloud.sentinel.datasource.flow_ds.nacos.server-addr=localhost:8848
spring.cloud.sentinel.datasource.flow_ds.nacos.data-id=sentinel_provider_flow_rule
spring.cloud.sentinel.datasource.flow_ds.nacos.group-id=SENTINEL_PROVIDER_GROUP
spring.cloud.sentinel.datasource.flow_ds.nacos.data-type=json
spring.cloud.sentinel.datasource.flow_ds.nacos.rule-type=flow
复制代码

欲知配置的作用,请接着往下看

  1. 在nacos中配置规则 nacos配置中心可以看这篇文章SpringCloud Alibaba 2021版 nacos 配置中心教程 在nacos配置列表中发布如下配置:

你可能感兴趣的:(java,spring,spring,cloud)