Sentinel 数据持久化到 Nacos

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

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


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



image.png


增加 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


数据模板


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


Sentinel 查看配置


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


image.png


总结


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


Sentinel 提供了 Nacos、ZooKeeper 和 Apollo 的推送和拉取规则实现示例(位于test目录下)。以 Nacos 为例,若希望使用 Nacos 作为动态规则配置中心,用户可以提取出相关的类,然后只需在FlowControllerV2中指定对应的 bean 即可开启 Nacos 适配。前端页面需要手动切换,或者修改前端路由配置(sidebar.html流控规则路由从dashboard.flowV1改成dashboard.flow即可,注意簇点链路页面对话框需要自行改造)。


参考


github.com/alibaba/Sen…



相关文章
|
1月前
|
Dubbo 关系型数据库 MySQL
nacos常见问题之命名空间配置数据上线修改如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
123 1
|
1月前
|
编解码 算法 定位技术
GEE时序——利用sentinel-2(哨兵-2)数据进行地表物候学分析(时间序列平滑法估算和非平滑算法代码)
GEE时序——利用sentinel-2(哨兵-2)数据进行地表物候学分析(时间序列平滑法估算和非平滑算法代码)
148 3
|
12天前
|
Java Nacos Maven
Sentinel1.8.6更改配置同步到nacos(项目是Gateway)
Sentinel1.8.6 nacos springcloud springcloud-alibaba gateway
|
1月前
|
Java 测试技术 Nacos
|
1月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
324 0
|
1月前
|
存储 Cloud Native Nacos
恭喜 Nacos 和 Sentinel 荣获 2023 开源创新榜“优秀开源项目”
恭喜 Nacos 和 Sentinel 荣获 2023 开源创新榜“优秀开源项目”
|
4天前
|
监控 Java API
深入解析 Spring Cloud Sentinel:分布式系统流量控制与熔断降级的全面指南
深入解析 Spring Cloud Sentinel:分布式系统流量控制与熔断降级的全面指南
10 0
深入解析 Spring Cloud Sentinel:分布式系统流量控制与熔断降级的全面指南
|
1月前
|
监控 Java Sentinel
Spring Cloud Sentinel:概念与实战应用
【4月更文挑战第28天】在分布式微服务架构中,确保系统的稳定性和可靠性至关重要。Spring Cloud Sentinel 为微服务提供流量控制、熔断降级和系统负载保护,有效预防服务雪崩。本篇博客深入探讨 Spring Cloud Sentinel 的核心概念,并通过实际案例展示其在项目中的应用。
39 0
|
1月前
|
Java 数据安全/隐私保护 Sentinel
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
|
1月前
|
Java API Nacos
第十二章 Spring Cloud Alibaba Sentinel
第十二章 Spring Cloud Alibaba Sentinel
47 0

热门文章

最新文章