Alibaba Spring Cloud 十七 Sentinel熔断降级
概述
在微服务架构中,熔断与降级是保证系统稳定性的重要机制,能有效防止故障蔓延或雪崩效应。当某个服务出现异常、延迟过高或错误率过高时,触发熔断保护,将该服务“隔离”一段时间,避免影响整体系统的吞吐和可用性。
Spring Cloud Alibaba Sentinel 提供了灵活的熔断降级(Degrade)机制,可以根据响应时间(RT)、异常比例或异常数等指标,自动触发熔断并执行相应的降级策略,为业务提供及时的兜底处理。
1. 核心概念
-
资源(Resource)
与流量控制类似,Sentinel 针对“资源”级别进行监控与保护。资源可以是一个接口、方法或任意需要保护的代码片段。
在 Spring Cloud Alibaba 中,常见做法是通过@SentinelResource
注解声明要保护的业务方法。 -
降级规则(Degrade Rule)
Sentinel 的降级规则会根据一定的触发条件(如异常比例、异常数、平均响应时间等)将资源进行临时熔断,在设定的时间窗口内,对该资源的调用会被自动阻断或返回降级处理逻辑。 -
熔断窗口(Time Window)
当触发熔断后,资源会进入一个“熔断窗口期”,在此期间内,所有对该资源的调用要么直接抛出异常,要么执行降级方法。
熔断窗口结束后,Sentinel 会自动恢复对该资源的调用,若新的规则再次触发,则再次熔断。 -
降级策略(Degrade Strategy)
Sentinel 提供了三种降级触发类型:- 慢调用比例 (DEGRADE_GRADE_RT):在过去一段时间(默认统计时长 1 分钟)内,如果某资源的平均响应时间超过阈值,并且慢调用比率也超过设定值,则触发熔断。
- 异常比例 (DEGRADE_GRADE_EXCEPTION_RATIO):在统计时长内,如果资源的异常(抛出业务异常或运行时异常等)比例达到设定阈值,则触发熔断。
- 异常数 (DEGRADE_GRADE_EXCEPTION_COUNT):在统计时长内,如果异常总数达到或超过设定阈值,则触发熔断。
2. 常见熔断降级规则
-
平均响应时间(RT)超过阈值
- 如果资源的平均响应时间持续高于某个设定阈值(如 1000ms),并且慢调用比率达到指定比例(默认为 1,即 100%),则熔断。
- 适用于对响应时间敏感的场景,一旦响应过慢,就认为该服务已经不可用。
-
异常比例超过阈值
- 适用于根据错误率判断服务是否健康的场景,例如设置异常比例阈值为 0.2(即 20%),如果统计周期内的异常数 / 总调用量 > 20%,则触发熔断。
- 常用于识别服务出现大面积异常时快速熔断。
-
异常数超过阈值
- 如果统计窗口内累计异常次数超过一定的绝对值阈值(如 10 次),触发熔断。
- 适用于访问量不大但对异常数较为敏感的场景,或是想对错误数量进行硬性限制的情况。
3. 配置方式
3.1 通过 Sentinel 控制台动态配置
-
启动控制台
- 下载或打包 Sentinel Dashboard 工程,默认端口一般是
8080
。 - 访问
http://localhost:8080
进入控制台。
- 下载或打包 Sentinel Dashboard 工程,默认端口一般是
-
应用集成
- 在
pom.xml
中引入依赖(示例版本仅供参考):<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId><version>2.2.10.RELEASE</version> </dependency>
- 在
application.yml
中配置:spring:cloud:sentinel:transport:port: 8719dashboard: 127.0.0.1:8080
- 在
-
标记资源
- 在需要进行熔断保护的方法或接口上,通过
@SentinelResource
声明资源:@RestController public class DemoController {@GetMapping("/testDegrade")@SentinelResource(value = "testDegradeResource",blockHandler = "blockHandler",fallback = "fallbackHandler")public String testDegrade(@RequestParam(required = false) String param) {// 这里故意模拟异常或延时if ("ex".equals(param)) {throw new RuntimeException("触发异常");}return "Test Degrade Success";}// 限流、熔断等阻塞时进入此方法public String blockHandler(String param, BlockException ex) {return "Blocked by Sentinel: " + ex.getClass().getSimpleName();}// 业务异常时触发 fallbackpublic String fallbackHandler(String param, Throwable ex) {return "Fallback: " + (ex == null ? "" : ex.getMessage());} }
- 在需要进行熔断保护的方法或接口上,通过
-
在控制台配置降级规则
- 在“降级规则”页面中,为资源
testDegradeResource
新增一条规则:- 资源名:
testDegradeResource
- 降级模式:
RT
/异常比例
/异常数
- 阈值: 具体数值(如 RT = 1000ms 或 异常比例=0.2)
- 触发后熔断时长: 可以设置为 5s、10s 等
- 资源名:
- 在“降级规则”页面中,为资源
保存规则后,应用会自动从控制台拉取配置,一旦触发降级,就会在熔断窗口内对该资源进行快速失败或返回降级逻辑。
3.2 通过代码硬编码/配置文件加载
同流量控制一样,也可以在 Spring Boot 应用启动时通过代码加载降级规则。例如:
@Configuration
public class SentinelDegradeConfig implements InitializingBean {@Overridepublic void afterPropertiesSet() throws Exception {initDegradeRules();}private void initDegradeRules() {List<DegradeRule> rules = new ArrayList<>();DegradeRule rule = new DegradeRule();rule.setResource("testDegradeResource");// 设置为异常比例类型rule.setGrade(RuleConstant.DEGRADE_GRADE_EXCEPTION_RATIO);// 异常比例阈值,20%rule.setCount(0.2);// 熔断时长:10srule.setTimeWindow(10);rules.add(rule);DegradeRuleManager.loadRules(rules);}
}
这种方式无需依赖控制台,但缺点是动态调整不够灵活。
4. 熔断触发后的处理
-
blockHandler
- 当资源被限流或熔断时,框架会抛出
BlockException
,可在@SentinelResource
中配置blockHandler
指定处理逻辑。 - 这个逻辑仅在被 Sentinel 阻断时生效(如限流、熔断触发)。
- 当资源被限流或熔断时,框架会抛出
-
fallback
- 当资源本身运行异常或出现业务错误时,会进入
fallback
指定的方法。 - 这在接口调用出现异常时会返回一个自定义“备用结果”,也可以解决部分业务异常的处理需求。
- 当资源本身运行异常或出现业务错误时,会进入
-
全局异常处理
- 如果没有使用
@SentinelResource
注解,也可以通过 Spring MVC 的全局异常捕获来处理BlockException
。
- 如果没有使用
5. 与 Hystrix / Resilience4j 的对比
-
Hystrix
- 早期 Spring Cloud 微服务常用的熔断组件,但目前处于维护模式,不再积极更新。
- Sentinel 不仅提供熔断,还提供流控、系统保护和热点限流等更丰富的功能,并配有实时监控的控制台。
-
Resilience4j
- 同样是一个轻量级的容错库,也有比较丰富的熔断、限流、隔离等功能。
- Sentinel 在国内社区和阿里生态中应用较多,且控制台管理和监控较为完善。
6. 常见使用场景
-
高并发接口
- 在访问量极大且敏感接口上,如果响应时间或者异常率激增,触发熔断可以快速返回备用响应,防止主逻辑被拖垮。
-
外部服务依赖
- 当依赖的第三方服务出现延迟或大量错误时,及时对其熔断,避免占用线程资源影响核心业务。
-
大型促销 / 秒杀场景
- 在大促活动下,如果某些核心服务出现了性能瓶颈或异常暴涨,可以通过熔断降级保护整体系统的稳定性。
7. 总结
- 原理:通过统计资源的响应时间、异常数或异常率等指标,在达到阈值后启动熔断,在熔断窗口内直接拒绝或降级请求,降低对不稳定资源的依赖。
- 优势:相比传统限流或熔断框架,Sentinel 除了熔断降级外还支持丰富的流控场景,结合控制台的可视化管理,使得配置和监控更加灵活。
- 最佳实践:
- 根据业务 SLA 设定合理的 RT / 异常率 阈值,避免误触发熔断。
- 与流控、热点限流、系统保护等功能配合使用,提供更全面的稳定性保障。
- 配合
@SentinelResource
的fallback
或全局异常处理机制,实现业务定制化的降级响应。
通过 Spring Cloud Alibaba Sentinel 的熔断降级功能,我们可以在服务出现不稳定或故障时,及时阻断问题服务,避免雪崩效应,并对上游调用方返回友好的降级结果,保障微服务架构下的整体稳定性和可用性。
相关文章:
Alibaba Spring Cloud 十七 Sentinel熔断降级
概述 在微服务架构中,熔断与降级是保证系统稳定性的重要机制,能有效防止故障蔓延或雪崩效应。当某个服务出现异常、延迟过高或错误率过高时,触发熔断保护,将该服务“隔离”一段时间,避免影响整体系统的吞吐和可用性。 …...
linux——网络基础
文章目录 目录 文章目录 踏入网络世界:探索 Linux 网络的无垠天地 一、网络发展 早期单机处理模式 网络发展的需求催生 网络发展后的优势对比 二、局域网or广域网 典型局域网架构 广域网连接多个局域网 二者关系 三、协议 语言层与汉语协议 通信设备层与电话机协议 …...
Spring Boot 集成 WebClient 实战教程 实现同步、异步请求处理以及响应式编程、响应式流、响应式Mono
该项目介绍springboot集成WebClient 实现服务的请求操作 示例中演示了,如何配置WebClient的请求头,请求参数等相关参数,实现同步、异步请求处理以及响应式编程、响应式流、响应式Mono。 为什么使用WebClient 不用RestTemplate 在 Spring Framework 5.0 及更高版本中,Res…...
健身房项目 Uniapp+若依Vue3版搭建!!
本次系统实现主要负责前端前端功能的实现。其中系统前端主要分为三大部分,首页,教练列表页,我的页面。 首页 首页的实现效果如图 1.会员卡组件 首页的Vip会员卡部分,团课活动的DataPicker,团课选择都采用了组件化封…...
(2)STM32 USB设备开发-USB虚拟串口
例程:STM32USBdevice: 基于STM32的USB设备例子程序 - Gitee.com 本篇为USB虚拟串口教程,没有知识,全是实操,按照步骤就能获得一个STM32的USB虚拟串口。本例子是在野火F103MINI开发板上验证的,如果代码中出现一些外设的…...
ubuntu上python setup.py install报错:error: expected initializer before ‘__s128’
问题场景:安装torchsparse时候执行python setup.py install 报错: /usr/include/linux/types.h:12:27: error: expected initializer before ‘__s128’12 | typedef __signed__ __int128 __s128 __attribute__((aligned(16)));| …...
解锁.NET Standard库:从0到1的创建与打包秘籍
一、引言 在当今的软件开发领域,跨平台开发已成为一种趋势。随着不同操作系统和设备的多样化,开发人员需要确保他们的代码能够在多个平台上运行,以满足更广泛的用户需求。.NET Standard 库应运而生,它定义了一组公共 API…...
Mac 查看 Java SDK 和 Android SDK 的路径
1. Mac 如何查看 JavaSDK的路径 /usr/libexec/java_home -V2. Mac 如何查看 Android SDK 的路径 在 Android Studio 中按 cmd,打开设置,然后如下方式,第三步如果有值就是第三步的信息。 第三步如果没有值,点开Edit,值在下方&…...
6. 马科维茨资产组合模型+政策意图AI金融智能体(DeepSeek-V3)增强方案(理论+Python实战)
目录 0. 承前1. 幻方量化 & DeepSeek1.1 What is 幻方量化1.2 What is DeepSeek 2. 重写AI金融智能体函数3. 汇总代码4. 反思4.1 不足之处4.2 提升思路 5. 启后 0. 承前 本篇博文是对上一篇文章,链接: 5. 马科维茨资产组合模型政策意图AI金融智能体(Qwen-Max)增…...
freeswtch目录下modules.conf各个模块的介绍【freeswitch版本1.6.8】
应用模块(applications) mod_abstraction: 为其他模块提供抽象层,有助于简化模块开发,让开发者能在统一框架下开发新功能,减少与底层系统的直接交互,提高代码可移植性和可维护性。 mod_av&#…...
Spark/Kafka
文章目录 项目地址一、Spark1. RDD1.1 五大核心属性1.2 执行原理1.3 四种创建方式二、Kafka2.1 生产者(1)分区器(2)生产者提高吞吐量(3) 生产者数据可靠性数据传递语义幂等性和事务数据有序2.2 Broker(1)Broker工作流程(2)节点服役和退役2.3 副本(1)Follower故障细…...
【Linux】华为服务器使用U盘安装统信操作系统
目录 一、准备工作 1.1 下载UOS官方系统 1.2制作启动U盘 1.3 服务器智能管理系统iBMC 二、iBMC设置U盘启动 一、准备工作 1.1 下载UOS官方系统 服务器CPU的架构是x86-64还是aarch64),地址:统信UOS生态社区 - 打造操作系统创…...
数据库性能优化(sql优化)_SQL执行计划02_yxy
数据库性能优化_SQL执行计划详解02 常用操作符解读1.1 表扫描类型操作符1.1.1 CSCN 聚集索引扫描1.1.2 CSEK 聚集索引数据定位1.1.3 SSEK 二级索引数据定位1.1.4 SSCN 直接使用二级索引进行扫描1.2 其他常见操作符1.2.1 BLKUP 二次扫描1.2.2 SLCT 选择1.2.3 PRJT 投影1.2.4 NSE…...
02.05、链表求和
02.05、[中等] 链表求和 1、题目描述 给定两个用链表表示的整数,每个节点包含一个数位。 这些数位是反向存放的,也就是个位排在链表首部。 编写函数对这两个整数求和,并用链表形式返回结果。 2、解题思路 本题要求对两个链表表示的整数…...
FPGA实现光纤通信(3)——光纤8b/10b编码数据回环
前言 光纤通信属于高速串行通信,具有较高的数据传输速率,通常用于服务器以及通信设备之间用于高速数据交换,对于xilinx 7系列的FPGA,内部具有集成的高速接口用于实现光纤通信。本次就来实现8b/10b编码数据回环。 测试环境:vivado版本:2020.02 FPGA芯片:XC7K70T 测试说…...
Python!从0开始学爬虫:(一)HTTP协议 及 请求与响应
前言 爬虫需要基础知识,HTTP协议只是个开始,除此之外还有很多,我们慢慢来记录。 今天的HTTP协议,会有助于我们更好的了解网络。 一、什么是HTTP协议 (1)定义 HTTP(超文本传输协议ÿ…...
神经网络基础详解
神经元结构 在探讨神经网络的基础时,神经元结构是一个关键概念。神经元是神经网络的基本组成单元,模拟了生物神经元的功能。其结构包括: 细胞体 :负责处理和整合输入信息 树突 :接收来自其他神经元的输入信号 轴突 :将处理后的信息传递给其他神经元 神经元通过加权求和和…...
使用Chrome和Selenium实现对Superset等私域网站的截图
最近遇到了一个问题,因为一些原因,我搭建的一个 Superset 的 Report 功能由于节假日期间不好控制邮件的发送,所以急需一个方案来替换掉 Superset 的 Report 功能 首先我们需要 Chrome 浏览器和 Chrome Driver,这是执行数据抓取的…...
2025展望:“安全计算”平价时代加速到来,数据流通产业兴起
大数据产业创新服务媒体 ——聚焦数据 改变商业 2024年,数据要素产业元年开启。 这是建章立制的一年:从年初《“数据要素”三年行动计划(2024—2026年)》开始,这一年政策密集出台,涵盖公共数据资源开发利用…...
达梦拷贝DM_HOME的复制安装
近期一个项目需求,需要在没有安装包的情况下,将达梦数据库安装到虚机上(生产机上安装了达梦),故采用直接打包生产机DM_HOME的方式拷贝至虚机,再依次执行达梦的部分指令完成安装。以下为验证的步骤ÿ…...
九、CSS工程化方案
一、PostCSS介绍 二、PostCSS插件的使用 项目安装 - npm install postcss-cli 全局安装 - npm install postcss-cli -g postcss-cli地址:GitHub - postcss/postcss-cli: CLI for postcss postcss地址:GitHub - postcss/postcss: Transforming styles…...
二叉树的最大深度(C语言详解版)
一、摘要 嗨喽呀大家,leetcode每日一题又和大家见面啦,今天要讲的是104.二叉树的最大深度,思路互相学习,有什么不足的地方欢迎指正!好啦让我们开始吧!!! 二、题目简介 给定一个二…...
深入探索imi框架:PHP Swoole的高性能协程应用实践
摘要 本文将介绍 imi 框架,这是一个基于 PHP Swoole 的高性能协程应用开发框架。imi 支持 HttpApi、WebSocket、TCP 和 UDP 等多种服务类型,利用 Swoole 的优化技术,使得在处理请求时响应速度远超传统的 php-fpm 方式。通过丰富的代码示例&a…...
机器学习-线性回归(参数估计之经验风险最小化)
给定一组包含 𝑁 个训练样本的训练集 我们希望能够 学习一个最优的线性回归的模型参数 𝒘 现在我们来介绍线性回归的一种模型参数估计方法:经验风险最小化。 我们前面说过,对于标签 𝑦 和模型输出都为连续的实数值&…...
使用 Elasticsearch 导航检索增强生成图表
作者:来自 Elastic Louis Jourdain 及 Ivan Monnier 了解如何使用知识图谱来增强 RAG 结果,同时在 Elasticsearch 中高效存储图谱。本指南探讨了根据用户查询动态生成知识子图的详细策略。 检索增强生成 (RAG) 通过将大型语言模型 (LLM) 的输出基于事实数…...
Flutter调用HarmonyOS NEXT原生相机拍摄相册选择照片视频
目录 1.项目背景 2.遇到的问题 3.开发准备 4.开发过程 首先创建注册调用鸿蒙原生的渠道 创建并初始化插件 绑定通道完成插件中的功能 5.具体步骤 根据传值判断是相册选取还是打开相机 相册选取照片或视频 相机拍摄照片或视频 调用picker拍摄接口获取拍摄的结果 视频…...
浅析云场景SSD实时迁移技术
在数据中心的运营管理中,负载均衡和系统容错是确保高效稳定运行的关键。SSD实时迁移技术,为解决这些问题提供了创新方案,成为数据中心技术发展的重要驱动力。 以AI训练任务为例,其运行时间长且无需用户频繁交互。数据中心的负载会…...
WordPress Hunk Companion插件节点逻辑缺陷导致Rce漏洞复现(CVE-2024-9707)(附脚本)
免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x0…...
BGP分解实验·11——路由聚合与条件性通告(3)
续接上(2)的实验。其拓扑如下: 路由聚合的负向也就是拆分,在有双出口的情况下,在多出口做流量分担是优选方法之一。 BGP可以根据指定来源而聚合路由,在产生该聚合路由的范围内的条目注入到本地BGP表后再向…...
SQL Server 使用SELECT INTO实现表备份
在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SELECT INTO 语句将数据从一个表备份到另一个表。 备份表的 SQL 语法: SELECT * INTO 【备份表名】 FROM 【要备份的表】 SEL…...
RPC是什么?和HTTP区别?
RPC 是什么?HTTP 是什么? 作为一个程序员,假设我们需要从A电脑的进程发送一段数据到B电脑的进程,我们一般会在代码中使用 Socket 进行编程。 此时,可选性一般就是 TCP 和 UDP 二选一,由于 TCP 可靠、UDP 不…...
西藏酥油茶:高原上的醇香温暖
西藏酥油茶:高原上的醇香温暖 在西藏高原,有一种饮品,它不仅滋养了一代又一代的藏民,还承载着丰富的文化与历史,它就是西藏酥油茶。酥油茶,藏语称为“恰苏玛”,意为搅动的茶,是藏族人民日常生活中不可或缺的一部分,更是待客、祭祀等活动中的重要礼仪物品。 历史与文化渊源 酥…...
十、VUE中的CSS
一、vue中解决样式不冲突的两种方式 scoped方式 在App.vue中引入Helloworld子组件 在Helloworld子组件中再次引入我们编写Demo子组件 解释: 这种方式是在style上加了个scoped,限制了样式的使用范围。 动态类名方式 二、vue构建打包 npm run build...
论文阅读 AlphaFold 2
用AlphaFold进行非常精确的蛋白质结构的预测(AlphaFold2) 发表于2021年07月15日 NatureDOI: 10.1038/s41586-021-03819-2自然和科学杂志评选为2021年最重要的科学突破之一2021年AI在科学界最大的突破 前言 2020年11月30号, deepmind博客说AlphaFold解决了50年以来生物学的大挑…...
PVE 虚拟机安装 Debian 无图形化界面服务器
Debian 安装 Debian 镜像下载 找一个Debian镜像服务器,根据需要的版本和自己硬件选择。 iso-cd/:较小,仅包含安装所需的基础组件,可能需要网络访问来完成安装。有镜像 debian-12.9.0-amd64-netinst.isoiso-dvd/:较…...
讯飞星火大模型将超越chatgpt?
讯飞星火大模型真的能超越ChatGPT吗? 在人工智能的世界里,新技术层出不穷,而科大讯飞最近发布的讯飞星火大模型3.0引发了不少讨论。有些人甚至大胆猜测:这个模型是否能够在某些方面超越如今广受欢迎的ChatGPT?今天,我们就来深入探讨一下这个话题,分析讯飞星火大模型3.0…...
Linux解决输入法卡死问题
说明:在Ubuntu系统中,如果您需要重启输入法服务(比如fcitx或ibus),您可以按照以下步骤操作。这些步骤适用于大多数基于Ubuntu的发行版,例如Ubuntu、Linux Mint等。 一、重启Fcitx输入法服务 1、使用Ctrl …...
PPT自动化 python-pptx -7: 占位符(placeholder)
占位符(placeholder)是演示文稿中用于容纳内容的预格式化容器。它们通过让模板设计者定义格式选项,简化了创建视觉一致幻灯片的过程,同时让最终用户专注于添加内容。这加快了演示文稿的开发速度,并确保幻灯片之间的外观…...
“AI视觉贴装系统:智能贴装,精准无忧
嘿,朋友们!今天我要跟你们聊聊一个特别厉害的技术——AI视觉贴装系统。这可不是普通的贴装设备,它可是融合了人工智能、计算机视觉和自动化控制等前沿科技的“智能贴装大师”。有了它,那些繁琐、复杂的贴装工作变得轻松又精准。来…...
【Efficient AIGC】SiTo: Similarity-based Token Pruning (AAAI-2025)
文章目录 SiTo: Training-Free and Hardware-Friendly Acceleration for Diffusion Models via Similarity-based Token Pruning背景介绍方法结果消融 文章目录 SiTo: Training-Free and Hardware-Friendly Acceleration for Diffusion Models via Similarity-based Token Prun…...
音频入门(一):音频基础知识与分类的基本流程
音频信号和图像信号在做分类时的基本流程类似,区别就在于预处理部分存在不同;本文简单介绍了下音频处理的方法,以及利用深度学习模型分类的基本流程。 目录 一、音频信号简介 1. 什么是音频信号 2. 音频信号长什么样 二、音频的深度学习分…...
mac 通过 Homebrew 安装 git 遇到的问题
问题真多啊 !!! 解决方式 见 1. / 2. / 3 . / 4. / 5. remote: Enumerating objects: 290323, done. remote: Counting objects: 100% (473/473), done. remote: Compressing objects: 100% (253/253), done. error: RPC failed; curl 92 H…...
Flutter android debug 编译报错问题。插件编译报错
下面相关内容 都以 Mac 电脑为例子。 一、问题 起因:(更新 Android studio 2024.2.2.13、 Flutter SDK 3.27.2) 最近 2025年 1 月 左右,我更新了 Android studio 和 Flutter SDK 再运行就会出现下面的问题。当然 下面的提示只是其…...
【信息系统项目管理师-选择真题】2018上半年综合知识答案和详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…...
探究 Facebook 隐私安全发展方向,未来走向何方?
随着社交媒体的普及,隐私和数据安全问题成为了全球关注的焦点。Facebook,作为全球最大的社交平台之一,其隐私安全问题尤其引人注目。近年来,随着用户数据泄露事件的不断发生,Facebook 不断调整其隐私政策,探…...
漏洞修复:Apache Tomcat 安全漏洞(CVE-2024-50379) | Apache Tomcat 安全漏洞(CVE-2024-52318)
文章目录 引言I Apache Tomcat 安全漏洞(CVE-2024-50379)漏洞描述修复建议升级Tomcat教程II Apache Tomcat 安全漏洞(CVE-2024-52318)漏洞描述修复建议III 安全警告引言 解决方案:升级到最新版Tomcat https://blog.csdn.net/z929118967/article/details/142934649 service in…...
Leecode刷题C语言之购买水果需要的最小金币数
执行结果:通过 执行用时和内存消耗如下: int dp(int* prices, int pricesSize, int index, int* memo) {if (2 * index 2 > pricesSize) {return prices[index];}if (memo[index] -1) {int minValue INT_MAX;for (int i index 1; i < 2 * index 2; i) …...
【27】Word:徐雅雯-艺术史文章❗
目录 题目 NO1.2 NO3 NO4 NO5 NO6.7 NO8.9 NO10.11 注意:修改样式的字体颜色/字号,若中英文一致,选择所有脚本。格式相似的文本→检查多选/漏选格式刷F4重复上一步操作请❗每一步检查和保存 题目 NO1.2 F12另存为布局→行号布局…...
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
文章目录 一、前言1.1 MySQL体系结构1.2 MySQL日志分类1.3 其他几种日志1.3.1 查询日志1.3.2 慢查询日志1.3.3 错误日志 二、bin log 二进制日志2.1 bin log简介2.2 binlog日志格式2.3 日志删除2.4 写入/刷盘机制 三、undo log 回滚日志3.1 undo log简介3.2 隐藏字段 —— 事务…...
数字MIC PDM接口
在音频采样中,我们经常会用到PCM,PDM这种方式,它们之间也是有一些区别的。 1:PDM 工作原理: PDM使用远高于PCM采样率的时钟采样调制模拟分量,每次采样结果只有1位输出(0或1&…...