​​使用 Nacos 存储 Sentinel 规则信息

简介: ​使用 Nacos 存储 Sentinel 规则信息

Sentinel 规则配置,一旦我们重启服务过后,所有的规则都会消失。我们可以通过 Zookeeper , Applo , Nacos 等配置中心将这些规则配置存储起来,让服务重启或者启动多节点的时候可以共享配置数据。


之前的项目我们通过 Nacos 来作为服务注册中心和服务配置中心,我们也可以将 Nacos 作为 Sentinel 的配置数据存储仓库,来为我们提供Sentinel 配置数据的持久化。 如下图所示

image.png

Nacos

microservice

Sentinel

dashboard

microservice

microservice

增加 Nacos 存储依赖


需要独立引入如下依赖,来申明 sentinel 的规则数据存储在 nacos 中。


    <dependency>  <groupId>com.alibaba.csp</groupId>  <artifactId>sentinel-datasource-nacos</artifactId></dependency>

    添加 YML 配置


    我们如果使用 Sentinel 的独立数据源功能,那么需要在 yaml 文件中申明数据源配置信息。


      spring:  application:    name: stock-service  profiles:    active: dev  cloud:    sentinel:      transport:        port: 8719        dashboard: localhost:8080      enabled: true      datasource:        ds:          nacos:            dataId: ${spring.application.name}-flow-rules            groupId: DEFAULT_GROUP            data‐type: json            rule‐type: flow


      Nacos 增加配置


      在 Nacas 配置中心,我们需要添加规则配置并且发布,这里需要注意 dataId 和 groupId 一定不要搞错,不然会导致找不到数据配置,如下图所示:


      image.png

      DataID:

      stodK-service-flow-rules

      DEFAULTGROUP

      Group:

      更多高级选项

      描还:

      默认不要勾选,

      Beta发布:

      TEXT

      YAMLOHTML

      XML

      配置格式:

      Properties

      ISON

      配百内容

      51

      "resource":"abc"

      "controlBehavior:0,

      "count":20.0,

      "grade":1,

      "limitapp":"default",

      "strategy":0

      J

      "resource":"abc1",

      "controlBehavior":0,

      "count":20.0,

      "grade":1,

      "limitapp":"default",

      "stratergy":o

      返回

      发布

      数据模板


        [  {    "resource": "abc",    "controlBehavior": 0,    "count": 20.0,    "grade": 1,    "limitApp": "default",    "strategy": 0  }]


        Sentinel 查看配置


        最后我们启动服务和 Sentinel 控制台,就可以在流控信息这个菜单下面查看到我们在配置中心定义的流控信息。


        image.png

        搜索

        应用名

        新增流控规则

        stock-service

        首页

        (1/1)

        stock-service

        流控规则

        关健字

        刚新

        192.168.217.1:8720

        实时监控

        资诉名

        来沃应用

        闲值类型

        楼作

        试值

        流控效果

        流控模式

        间值模式

        危点链路

        快速牙蚊

        三接

        锦辑

        出涂

        流控规则

        20

        单机

        快速失收

        OPS

        点接

        abe

        源担

        降级规则

        1

        快关败

        单机

        卓接

        OPS

        Thello

        delauli

        册除

        热点规则

        系统规则

        条记录

        共3条记录,每页10

        授权规则

        ?群流控

        机器列表


        总结


        至此我们就完成了,Sentinel 对规则持久化到 Nacos 的全部操作。这里有一个小小的问题就是我们在 Sentinel 控制台修改规则过后默认不能直接同步到 Nacos 中,如果需要同步到 Nacos 中的需要修改 Sentinel 控制台的源码,配置信息通过 “推模式”同步到 Nacos 中存储。

        相关文章
        |
        2月前
        |
        负载均衡 算法 Java
        蚂蚁面试:Nacos、Sentinel了解吗?Springcloud 核心底层原理,你知道多少?
        40岁老架构师尼恩分享了关于SpringCloud核心组件的底层原理,特别是针对蚂蚁集团面试中常见的面试题进行了详细解析。内容涵盖了Nacos注册中心的AP/CP模式、Distro和Raft分布式协议、Sentinel的高可用组件、负载均衡组件的实现原理等。尼恩强调了系统化学习的重要性,推荐了《尼恩Java面试宝典PDF》等资料,帮助读者更好地准备面试,提高技术实力,最终实现“offer自由”。更多技术资料和指导,可关注公众号【技术自由圈】获取。
        蚂蚁面试:Nacos、Sentinel了解吗?Springcloud 核心底层原理,你知道多少?
        |
        5月前
        |
        监控 算法 Java
        高并发架构设计三大利器:缓存、限流和降级问题之配置Sentinel的流量控制规则问题如何解决
        高并发架构设计三大利器:缓存、限流和降级问题之配置Sentinel的流量控制规则问题如何解决
        |
        7月前
        |
        Java 测试技术 Nacos
        |
        6月前
        |
        Java Nacos Maven
        Sentinel1.8.6更改配置同步到nacos(项目是Gateway)
        Sentinel1.8.6 nacos springcloud springcloud-alibaba gateway
        311 0
        |
        7月前
        |
        存储 Cloud Native Nacos
        恭喜 Nacos 和 Sentinel 荣获 2023 开源创新榜“优秀开源项目”
        恭喜 Nacos 和 Sentinel 荣获 2023 开源创新榜“优秀开源项目”
        |
        7月前
        |
        Java Nacos Sentinel
        【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
        【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
        920 0
        |
        7月前
        |
        监控 数据挖掘 索引
        深度剖析Sentinel热点规则
        深度剖析Sentinel热点规则
        230 1
        |
        7月前
        |
        监控 Java API
        解密Sentinel中流控规则的阀值奥秘
        解密Sentinel中流控规则的阀值奥秘
        70 0
        |
        7月前
        |
        监控 测试技术 数据安全/隐私保护
        如何集成Sentinel实现流控、降级、热点规则、授权规则总结
        如何集成Sentinel实现流控、降级、热点规则、授权规则总结
        275 0
        |
        15天前
        |
        JSON Java Nacos
        SpringCloud 应用 Nacos 配置中心注解
        在 Spring Cloud 应用中可以非常低成本地集成 Nacos 实现配置动态刷新,在应用程序代码中通过 Spring 官方的注解 @Value 和 @ConfigurationProperties,引用 Spring enviroment 上下文中的属性值,这种用法的最大优点是无代码层面侵入性,但也存在诸多限制,为了解决问题,提升应用接入 Nacos 配置中心的易用性,Spring Cloud Alibaba 发布一套全新的 Nacos 配置中心的注解。