Sentinel入门与进阶:微服务流量控制的最佳实践 ( 三 )

news2024/9/20 18:26:07

5.配置持久化

目前的sentinel,无法满足我们生产环境的需求,因为一旦sentinel-dashboard发生重启,限流规则也会随之丢失。

sentinel规则的持久化: Sentinel自身就支持了多种不同的数据源来持久化规则配置,比如文件配置,Nacos配置,Zookeeper配置等。

接下来我们讨论一下,如何使用Nacos来实现规则的持久化配置。

5.1.在 pom.xml 中加入依赖

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>       

		<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-sentinel-datasource</artifactId>
        </dependency>

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

nacos 2.3.2 与 sentinel 1.8.8 版本

5.2.在nacos的配置中心加入配置

注意类型为 JSON

在这里插入图片描述

public 命名空间下加入

sca-sentinel-dashboard-sentinel-flow

[
    {
        "resource": "/sentinelTest/sayHello",
        "limitApp": "default",
        "grade": 1,
        "count": 3
    }
]

Data Id :和配置中的data_id相对应
Group:配置文件中的group-id
配置内容:
resource:接口名,即限流规则的作用对象
limitApp:流控针对的调用来源,若为 default 则不区分调用来源
grade:限流阈值类型(QPS 或并发线程数);0代表根据并发数量来限流,1代表根据QPS来进行流量控制
count:限流阈值
strategy:调用关系限流策略
controlBehavior:流量控制效果(直接拒绝、Warm Up、匀速排队)
clusterMode:是否为集群模式

5.3.修改项目配置

在 application.properties 中加入

ds-flow 可以自己定义

spring.cloud.sentinel.datasource.ds-flow.nacos.server-addr=127.0.0.1:8848
spring.cloud.sentinel.datasource.ds-flow.nacos.data-id=${spring.application.name}-sentinel-flow
spring.cloud.sentinel.datasource.ds-flow.nacos.group-id=DEFAULT_GROUP
spring.cloud.sentinel.datasource.ds-flow.nacos.rule-type=flow
spring.cloud.sentinel.datasource.ds-flow.nacos.data-type=json
spring.cloud.sentinel.datasource.ds-flow.nacos.username=nacos
spring.cloud.sentinel.datasource.ds-flow.nacos.password=nacos
spring.cloud.sentinel.datasource.ds-flow.nacos.namespace=DEFAULT_GROUP

5.4.查看Sentinel 流控规则

在这里插入图片描述

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

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

相关文章

Android 全系统版本文件读写最佳适配,CV 即用(适配到 Android 14)

结合着Android的历史问题&#xff0c;我们需要这样写才行&#xff1a; 首先 manifest 部分 <manifest><!-- Devices running Android 12L (API level 32) or lower --><uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE" a…

初识web自动化测试

自动化 说明 让机器设备代替人为完成指定目标的而过程 优点 减少劳动力提高效率(批量生产)提高产品质量规格统一标准 自动化测试 概念 : 让程序代替人工去验证系统功能的过程 自动化测试能解决什么问题&#xff1f; 解决-回归测试 [重点]解决-压力测试解决-兼容性测试 …

WookTeam searchinfo SQL注入漏洞复现

0x01 产品简介 WookTeam是一款轻量级的在线团队协作工具,提供各类文档工具、在线思维导图、在线流程图、项目管理、任务分发,知识库管理等工具。 0x02 漏洞概述 WookTeam /api/users/searchinfo 接口存在SQL注入漏洞,未经身份验证的恶意攻击者利用 SQL 注入漏洞获取数据库…

一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶

一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶 文章目录 前言一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶 一、HKELM模型1. 极限学习机&#xff08;ELM&#xff0…

【启明智显技术分享】半导体存储全解析:SRAM、DRAM、NAND、eMMC、UFS、eMCP、uMCP、DDR、LPDDR

Model4芯片是一款高性能的全高清显示和智能控制SOC&#xff0c;采用国产自主 64 位高算力 RISC-V 内核&#xff0c;提供了丰富的互联外设接口&#xff0c;具备大容量存储和极强的扩展性。片内存储BROM 32KB、SRAM 96KB以及DRAM SiP 16bit KGD&#xff08;两种规格可选&#xff…

掌握这招,Python帮你快速整理文件!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在日常工作中&#xff0c;经常需要处理大量的通知文件。这些文件可能以不同的格式和命名规则存在&#xff0c;需要花费大量时间和精力去整理和分类。Python作为一门功能强大的编程语言&#xff0c;可以自动化这一…

学习嵌入式入门(十)高级定时器简介及实验(下)

一、高级定时器互补输出带死区控制实验 上图中&#xff0c;CH1 输出黄色的 PWM&#xff0c;它的互补通道 CH1N 输出绿色的 PWM。通过对比&#xff0c;可以 知道这两个 PWM 刚好是反过来的&#xff0c;CH1 的 PWM 为高电平期间&#xff0c;CH1N 的 PWM 则是低电平&#xff0c; 反…

Linux下 vim的用法

目录 前言 一、初始Vim 二、使用Vim 1.1命令模式 2.1底行模式 3.1插入模式 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 本篇文章会介绍vim的基本用法和为什么我们要学习vim。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供…

计算机网络——HTTP协议详解(上)

一、HTTP协议简单介绍 1.1 什么是HTTP协议 HTTP&#xff08;超文本传输协议&#xff09;是一种用于在Web浏览器和Web服务器之间传输数据的应用层协议。它是一种无状态协议&#xff0c;即服务器不会保留与客户端的任何连接状态信息&#xff0c;每个请求都被视为一个独立的事务。…

Echarts饼图7.0:图例自定义+取消高亮时放大的状态

1、源代码&#xff1a; let seriseData [{ value: 1048, name: Search Engine },{ value: 735, name: Direct } ] option {color: [#5D9AF1, #D6D6D6],tooltip: {trigger: item,backgroundColor: rgba(0,0,0,0.4),borderColor: transparent,formatter: (item) > {consol…

使用Arduino IDE生成带有bootloader的烧录文件

使用Arduino IDE生成bin&#xff08;烧录&#xff09;文件 1、在“项目”中&#xff0c;选择“导出已编译的二进制文件” 2、在工程目录中&#xff0c;会出现“build”文件夹 3、在build文件夹中&#xff0c;有hex文件&#xff0c;以及包含bootloader的bin和hex文件 bin和h…

ArkUI---Swiper、Grid、List组件简单介绍

前言&#xff1a;ForEach ForEach语法如下&#xff1a; ForEach(arr: Array,itemGenerator: (item: Array, index?: number) > void,keyGenerator?: (item: Array, index?: number) : string > string ) 参数1&#xff1a;数据源&#xff0c;为Array的数组 参数2&am…

【51单片机】让AI识别电路图,帮你进行编码(以51单片机为例)

让AI识别电路图,帮你进行编码&#xff08;以51单片机为例&#xff09; ​ 这里使用的AI大模型使用的是 Copilot。&#xff08;两个前提&#xff1a;1. 科学上网、2. 有微软账号&#xff09; 今天测试了一下Copilot识别图片的能力&#xff0c;能力还是可圈可点的。 首先准备一…

react-antive 項目報錯 [CXX1429] error when building with cmake using

react-antive 項目報錯 [CXX1429] error when building with cmake using修复 错误现场分析原因解决方案举一反三技巧引用参考&#xff08;感谢作者提供思路&#xff09; 错误现场 [CXX1429] error when building with cmake using /Users/sebastiangarcia/Desktop/work/flm/…

基于spring boot的校园商铺管理系统

TOC springboot188基于spring boot的校园商铺管理系统 第1章 绪论 1.1 研究背景 互联网概念的产生到如今的蓬勃发展&#xff0c;用了短短的几十年时间就风靡全球&#xff0c;使得全球各个行业都进行了互联网的改造升级&#xff0c;标志着互联网浪潮的来临。在这个新的时代&…

springboot颐养居家养老管理系统---附源码19707

摘 要 随着社会的快速发展和人口老龄化趋势的加剧&#xff0c;居家养老已成为越来越多老年人的选择。然而&#xff0c;传统的居家养老方式面临着诸多问题&#xff0c;如服务质量不稳定、信息不对称等。为了解决这些问题&#xff0c;提高居家养老的服务质量和效率&#xff0c;我…

[mysql] 一行变多行

数据表 CREATE TABLE table_main (ID char(36) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,zb_list_str text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci ,kf_list_str text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci,PRIMARY KEY (ID) USI…

在宝塔面板下安装WordPress

宝塔面板是服务器管理好助手&#xff0c;尤其在Linux系统下&#xff0c;提高了管理的可视化&#xff0c;降低了Linux服务器的使用门槛。 WordPress是个非常好的博客系统&#xff0c;由于支持海量主题模板、各种类型的插件&#xff0c;因此已经成为建设各类网站的首选框架。 今…

java 获取request中的json请求体

Java 获取request中的json请求体 简介 在Java开发中&#xff0c;有时我们需要从HTTP请求中获取JSON格式的数据。本文将详细介绍如何在Java中获取request中的json请求体。 流程概览 以下是获取request中的json请求体的整体流程&#xff1a; 步骤 描述 1 获取HttpServletReque…

代码规范 —— 并发编程规范

优质博文&#xff1a;IT-BLOG-CN 【1】【强制】获取单例对象需要保证线程安全&#xff0c;其中的方法也要保证线程安全。 说明&#xff1a; 资源驱动类、工具类、单例工厂类都需要注意。 【2】【强制】创建线程或线程池时请指定有意义的线程名称&#xff0c;方便出错时回溯。…