06 Sentinel规则持久化(3)

news2025/1/11 9:08:12

Sentinel 持久化模式

Sentinel规则的推送有下面三种模式:

在这里插入图片描述

1、原始模式

如果不做任何修改,Dashboard 的推送规则方式是通过 API 将规则推送至客户端并直接更新到内存中:

在这里插入图片描述
这种做法的好处是简单,无依赖;坏处是应用重启规则就会消失,仅用于简单测试,不能用于生产环境。

2、拉模式

pull 模式的数据源(如本地文件、RDBMS 等)一般是可写入的。使用时需要在客户端注册数据源:将对应的读数据源注册至对应的 RuleManager,将写数据源注册至 transport 的 WritableDataSourceRegistry 中。

3、推模式

生产环境下一般更常用的是 push 模式的数据源。对于 push 模式的数据源,如远程配置中心(ZooKeeper, Nacos, Apollo等等),推送的操作不应由 Sentinel 客户端进行,而应该经控制台统一进行管理,直接进行推送,数据源仅负责获取配置中心推送的配置并更新到本地。因此推送规则正确做法应该是 配置中心控制台/Sentinel 控制台 → 配置中心 → Sentinel 数据源 → Sentinel,而不是经 Sentinel 数据源推送至配置中心。这样的流程就非常清晰了:

3.1 基于Nacos配置中心控制台实现推送

官方demo: sentinel-demo-nacos-datasource

引入依赖

<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-datasource-nacos</artifactId> 
</dependency>
  1. nacos配置中心中配置流控规则
[
  {
    "resource": "TestResource",
    "controlBehavior": 0,
    "count": 10.0,
    "grade": 1,
    "limitApp": "default",
    "strategy": 0
  }
]

在这里插入图片描述

  1. yml中配置
spring:
  application:
    name: mall-user-sentinel-demo
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

    sentinel:
      transport:
        # 添加sentinel的控制台地址
        dashboard: 127.0.0.1:8080
        # 指定应用与Sentinel控制台交互的端口,应用本地会起一个该端口占用的HttpServer
        port: 8719
      datasource:
        ds1:
          nacos:
            server-addr: 127.0.0.1:8848
            dataId: ${spring.application.name}
            groupId: DEFAULT_GROUP
            data-type: json
            rule-type: flow

3) nacos配置中心中添加

[
    {
        "resource": "userinfo",
        "limitApp": "default",
        "grade": 1,
        "count": 1,
        "strategy": 0,
        "controlBehavior": 0,
        "clusterMode": false
    }
]

在这里插入图片描述
引入依赖

 <!--sentinel持久化 采用 Nacos 作为规则配置数据源-->
<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-datasource-nacos</artifactId>
</dependency>

增加yml配置

server:
  port: 8806

spring:
  application:
    name: mall-user-sentinel-rule-push-demo  #微服务名称

  #配置nacos注册中心地址
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

    sentinel:
      transport:
        # 添加sentinel的控制台地址
        dashboard: 127.0.0.1:8080
        # 指定应用与Sentinel控制台交互的端口,应用本地会起一个该端口占用的HttpServer
        #port: 8719
      datasource:
#        ds1:   #名称自定义,唯一
#          nacos:
#            server-addr: 127.0.0.1:8848
#            dataId: ${spring.application.name}
#            groupId: DEFAULT_GROUP
#            data-type: json
#            rule-type: flow
        flow-rules:
          nacos:
            server-addr: 127.0.0.1:8848
            dataId: ${spring.application.name}-flow-rules
            groupId: SENTINEL_GROUP   # 注意groupId对应Sentinel Dashboard中的定义
            data-type: json
            rule-type: flow
        degrade-rules:
          nacos:
            server-addr: 127.0.0.1:8848
            dataId: ${spring.application.name}-degrade-rules
            groupId: SENTINEL_GROUP
            data-type: json
            rule-type: degrade
        param-flow-rules:
          nacos:
            server-addr: 127.0.0.1:8848
            dataId: ${spring.application.name}-param-flow-rules
            groupId: SENTINEL_GROUP
            data-type: json
            rule-type: param-flow
        authority-rules:
          nacos:
            server-addr: 127.0.0.1:8848
            dataId: ${spring.application.name}-authority-rules
            groupId: SENTINEL_GROUP
            data-type: json
            rule-type: authority
        system-rules:
          nacos:
            server-addr: 127.0.0.1:8848
            dataId: ${spring.application.name}-system-rules
            groupId: SENTINEL_GROUP
            data-type: json
            rule-type: system

以流控规则测试,当在sentinel dashboard配置了流控规则,会在nacos配置中心生成对应的配置。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/194011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能网联汽车信息安全敲响「警钟」,如何筑牢防线?

2009年起&#xff0c;谷歌、百度等互联网科技公司就入局自动驾驶&#xff0c;旨在赋予汽车更智慧的大脑。 如今&#xff0c;物流、港口等场景下自动驾驶的商业化落地&#xff0c;众多的网联化接口不仅加强了智能网联汽车与操作环境之间的紧密关联&#xff0c;也促使智能网联汽…

Linux 学习笔记 文件、目录操作与用户群组权限

一、命令行提示符 1.1 命令行基础 bearpi&#xff1a;当前用户名&#xff0c;在前是用户名 ubuntu&#xff1a;用户所在的域名&#xff0c;在后面&#xff0c;这是我自定义的&#xff0c;默认应该是主机名 ~ 波浪线为目前所在目录&#xff0c;~代表家目录&#xff08;home d…

【LMI传感器】LMI Gocator线激光传感器环境变量配置

文章目录1 打开系统环境配置界面2 环境变量配置1 打开系统环境配置界面 控制面板>系统和安全>系统>高级系统设置 系统属性>高级>环境变量 2 环境变量配置 环境变量配置 GENICAM_GENTL32_PATH E:\Program Files(x86)\GoCator\Release_5.3.22.22(SR1)\Integ…

ios pod更换三方库source

无法访问github&#xff0c;pod无法添加三方库&#xff0c;此时gitlab上有这个三方库并且可以访问。以FMDB为例子本地路径&#xff1a;/Users/用户名/.cocoapods/repos/trunk/Specs/f/4/e/FMDB/2.7.5修改podspec.json内sourcegithubgitlab"source": { "git"…

Pipenv:作为 Python 开发人员为什么应该使用它

Pipenv 是一个旨在将所有打包世界中最好的东西带到 Python 世界的工具。它将 Pipfile、pip 和 virtualenv 整合到一个命令中。它会自动为您的项目创建和管理虚拟环境&#xff0c;并在您安装/卸载包时从您的 Pipfile 添加/删除包。在深入研究之前&#xff0c;让我们先看看 Pipen…

抓包对抗原理与案例

服务端校验客户端 案例&#xff1a;爱奇艺 平时我们碰到的HTTP和HTTPS都在应用层&#xff0c;SOCKS在会话层&#xff0c;TCP和UDP在传输层&#xff0c;IP在网络层。 HTTP未加密主要有这些不足 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装…

2月2日 读书笔记

段的起始地址用32位来表示&#xff0c;被称为段的基址&#xff0c;在本书中被分成了3段&#xff0c;分别为2字节、1字节、1字节。之所以这么做&#xff0c;主要是为了与80286时代的程序兼容。有了这样的规格&#xff0c;80286用的操作系统&#xff0c;也可以不用修改就在386以后…

不忘初心,勇攀高峰!低代码公司流辰信息紧抓机遇,努力超前冲!

在数字化发展趋势越来越激烈的当下&#xff0c;市场变得风云变幻&#xff0c;作为一家致力于提升企业办公自动化效率的低代码公司平台服务商&#xff0c;流辰信息矢志不渝&#xff0c;不忘初心&#xff0c;紧跟时代发展潮流&#xff0c;坚持围绕客户需求研发创新&#xff0c;提…

马哥架构第4周课程作业

docker应用一. docker常用命令博客1.1 Docker安装及基础命令介绍1.1.1 Docker 安装准备1.1.2 安装和删除方法1.1.2.1 Ubuntu 安装和删除Docker1.1.2.2 CentOS 安装和删除Docker1.1.2.3 Linux 二进制安装1.1.2.4 安装 podman1.1.2.5 在不同系统上实现一键安装 docker 脚本1.1.2.…

HBase入门概念

文章目录HBase存储结构数据模型table 逻辑结构切分存储table 物理结构架构 todo使用DDLDMLphoenixHBase nosql &#xff08;k&#xff0c;v&#xff09; 以HDFS为基础存储数据 存储结构 数据模型 nameSpace&#xff1a; 命名空间table&#xff1a; 表&#xff08;需要声明…

浅谈C/S和B/S架构的工作原理及优缺点

C/S架构 一、C/S架构及其背景 C/S架构是一种比较早的软件架构&#xff0c;主要应用于局域网内。在这之前经历了集中计算模式&#xff0c;随着计算机网络的进步与发展&#xff0c;尤其是可视化工具的应用&#xff0c;出现过两层C/S和三层C/S架构&#xff0c;不过一直很流行也比…

蓝桥杯刷题019——观光公交(贪心)

题目描述 风景迷人的小城 Y 市&#xff0c;拥有 n 个美丽的景点。由于慕名而来的游客越来越多&#xff0c;Y 市特意安排了一辆观光公交车&#xff0c;为游客提供更便捷的交通服务。观光公交车在第 0 分钟出现在 1 号景点&#xff0c;随后依次前往 2、3、4……n 号景点。从第 i …

使用Workbook读取表格问题总结

使用Workbook读取表格问题总结一、Workbook类型二、问题总结1.SXSSFWorkbook为什么我Create了一万行Row但是却获取不到&#xff1f;2.读取表格一、Workbook类型 Workbook分三种类型&#xff1a; 1.HSSFWorkbook 用于Excel2003版及更早版本(扩展名为.xls)的导出&#xff1b; 2.…

苹果手机备忘录密码忘记了怎么办?快速解锁,亲测有效

很多小伙伴喜欢使用苹果手机的备忘录来记录重要的事情&#xff0c;并且还会给备忘录设置密码。可是使用的时间长了&#xff0c;就忘记了自己备忘录密码了。苹果手机备忘录密码忘记了怎么办&#xff1f;别担心&#xff0c;今天小编分享一个亲测有效的方法&#xff0c;快来看看吧…

纳瓦电子前向77GHz毫米波雷达获国内新能源头部车企定点!

伴随着中国自主品牌新车搭载ADAS功能的高速增长&#xff0c;中国本土毫米波雷达供应商迎来了前所未有的机遇期。 高工智能汽车研究院监测数据显示&#xff0c;今年1-11月中国市场&#xff08;不含进出口&#xff09;乘用车前装标配搭载前向毫米波雷达交付上险755.53万颗&#…

一站式开发平台 赋能办公全场景

近几年&#xff0c;数字化办公迎来了新的机遇&#xff0c;根据亿欧智库《2022中国数字化办公市场研究报告》推算&#xff0c;数字化办公2021年的市场规模达到973.89亿元&#xff0c;至2025年将达到1768.16亿元&#xff0c;整体增速保持平稳&#xff0c;2018-2025年的CAGR为15.8…

写IB EE(Extended Essay)时容易犯的五大错误

EE的重要性无需多言&#xff0c;EE和TOK一共占IB45分总分的3分&#xff0c;其中一门拿到E的话&#xff0c;就会fail&#xff0c;拿不到IB的diploma。虽说和学校老师会有meeting讨论的机会&#xff0c;但时间有限&#xff0c;提供的精准指导也有限。EE的要求很严谨&#xff0c;很…

基于java SSM springboot动物检疫信息管理系统设计和实现

基于java SSM springboot动物检疫信息管理系统设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获…

Java集合(八)Map接口

我们来查看Map接口&#xff1a; 里面的k-v和set集合的不同之处在于&#xff1a;key仍然是一个对象&#xff0c;但是对于set来说value是一个常量&#xff0c; private static final Object PRESENT new Object(); set里面的value放的是 静态性质的PRESENT。 而map的value是自…

Issue—C#—ssl相关错误

报错&#xff1a;.net 6 : {"MessageTemplate": "An unhandled exception has occurred while executing the request.""Exception": "System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exc…