当前位置: 首页 > news >正文

Sentinel(理论版)

Sentinel

1.什么是Sentinel

Sentinel 是一个开源的流量控制组件,它主要用于在分布式系统中实现稳定性与可靠性,如流量控制、熔断降级、系统负载保护等功能。简单来说,Sentinel 就像是一个交通警察,它可以根据系统的实时流量(请求)和系统的健康状况,动态地调整系统的流量规则,避免系统因为突发的高流量而崩溃,保证系统的稳定运行。

例如,假设你有一个在线商城的系统,在大促销活动期间,系统可能会突然接收到大量的访问请求,如果处理不当,系统可能会因为负载过高而变得响应缓慢甚至崩溃。这时,Sentinel 就可以发挥作用了,它可以限制访问速率,只允许一定数量的用户请求在同一时间进行,超过限制的请求可以被排队或直接拒绝,以此来保护系统不被过载。

总的来说,Sentinel 的目的是通过实时监控系统的流量和状态,动态地进行流量控制和服务降级,从而保证系统的高可用性和稳定性。

2.Sentinel的主要功能

1.流量控制
说明:就像是水坝控制水流一样,Sentinel 可以控制系统的请求流量,确保系统不会因为流量过大而崩溃。
场景:比如双十一期间,电商平台的订单系统可能会接收到海量订单请求,通过流量控制,Sentinel 可以限制每秒处理的订单数量,避免系统崩溃。

2.熔断降级
说明:当系统某部分出现问题,可能会拖垮整个系统。熔断降级就像是紧急刹车,暂时停用某些功能,保证系统的主体还能正常运行。
场景:如果一个在线视频网站的推荐服务出现故障,Sentinel 可以暂时关闭推荐功能,而不是让整个视频网站瘫痪,用户仍然可以搜索和观看视频。

3.系统负载保护
说明:保护系统不会因为过载(如CPU使用率过高)而崩溃,类似于电路中的过载保护器。
场景:在一个天气预报应用中,如果因为极端天气导致查询请求激增,超出了服务器的处理能力,Sentinel 可以限制请求量,保护系统不被过载。

4.热点参数限流
说明:对于频繁访问的“热点数据”,可以进行特别的流量控制,就像超市的促销区会特别安排工作人员维持秩序。
场景:在电商平台上,对于某个热门商品的购买请求可能会集中爆发,Sentinel 可以对这个商品的购买请求进行特别限流,保证服务器稳定。

5.授权规则
说明:根据请求来源(如IP地址)决定是否允许请求,类似于门卫根据身份决定是否让人进入。
场景:一个公司内部的管理系统,可以设置仅允许公司内部网络的请求访问,外部的任何请求都不允许,保证系统安全。

3.为什么需要Sentinel

1.防止雪崩效应:当某个服务器故障的时候,传统的做法是让请求一直等待,直到服务恢复正常,然而,这可能导致请求积压,进而导致其他服务也出现故障,最终形成雪崩效应,Sentinel可以通过熔断机制,及时返回错误信息,避免连锁故障。
2.流量控制:在高并发场景下,如果系统突然收到大量请求,可能会导致系统过载,影响正常的服务,Sentinel可以通过流量控制机制,限制并发请求的数量,确保系统的可用性和稳定性。
3.保护系统稳定性:在微服务架构中,多个服务之间互相依赖,一个服务的故障可能导致整个系统的崩溃,Sentinel可以对请求进行流量控制和熔断,避免由于某个服务器的故障导致整个系统不可用。

4.Sentinel基本概念

4.1什么是流量控制

流量控制是指对系统中的流量进行限制和请求,以确保在承受能力范围内正常运行

4.2流量控制算法

  1. 计数器流量控制算法
    解释:这个算法就像是超市入口的计数器,限定在一定时间内只允许一定数量的顾客进入。每当有顾客进入时,计数器就加一;时间到了后,计数器清零重新开始。
    例子:一个网站设置了每分钟只能处理100个请求。如果这一分钟有101个请求,当第101个请求在同一分钟内到来时,系统会拒绝这个请求,直到下一分钟开始;如果不到100个请求的话,这一分钟时间到了之后,计数器就清零,然后重新计数。
  2. 漏桶流量控制算法
    解释:想象一个水桶有一个固定速度的漏洞,无论向桶内倒水的速度多快,桶里的水只能通过漏洞以固定的速度流出。这个算法用于平滑流量,使得处理请求的速率保持恒定。
    例子:一个服务器被设置为每秒只能发送10个数据包。即使在某一刻服务器收到了一大批数据包,它也只会以每秒10个包的速率发送这些数据包,多余的数据包会在“桶”里排队等待处理。
  3. 令牌桶流量控制算法
    解释:令牌桶算法更加灵活。系统会以恒定的速度往桶里添加令牌,每个请求处理前都需要从桶里取出一个令牌。如果桶里没有令牌,请求就需要等待。但是,桶里可以存储令牌,允许短时间内处理大量请求,只要有足够的令牌。
    例子:一个API限制每秒可处理10个请求,但是它可以处理突发的20个请求,只要之前有足够的令牌积累在桶里。如果有一瞬间来了20个请求,系统可以处理这20个请求,但之后在没有足够令牌的情况下,新的请求就需要等待令牌的生成。

4.3流量控制角度

Sentinel流量控制主要有以下几个角度:
1.资源的调用关系,例如资源的调用链路,资源和资源之间的关系
2.运行指标,例如(QPS—每秒查询数)、线程池、系统负载等。
3.控制的效果:例如直接限流、冷启动、排队等
Sentinsl的设计理念是这三个角度自由选择,根据需求灵活的组合,来达到想要的目的
在这里插入图片描述
流控效果如下:
1.快速失败:这种方式是默认的流量控制方式,比如QPS超过任意规则的阈值之后,新的请求就会被立即拒绝,拒绝方式为抛出FlowException。这种方式适用于对系统处理能力确切已知的情况下,比如通过压测确定了系统的准确水位的时候。
2.Warm up :此项叫做预热/冷启动 方式,此模式主要是防止流量突然增加时,直接把系统的流量拉升到一个很高的程度,直接让系统垮了,通过冷启动,让通过的流量缓慢的增加,在一定的时间内逐渐增加到阈值上限,给系统一个预热的时间,避免直接被压垮。
3.排队等待(也叫匀速通过):排队等待会严格控制请求通过的间隔时间,让请求稳定且匀速的通过,可以用来处理间隔性突发的高流量。比如抢票软件,在某一秒内有大量的请求到来,而接下来的一段时间里处于空闲状态,我们希望在接下来的空闲时间里也能出去这些请求,而不是直接拒绝,让他们排队等待。在设置排队等待的时候,需要填写超时时间。

4.3什么是熔断

Sentinel 熔断是指在分布式系统中,为了防止系统雪崩,当某个微服务的错误率或响应时间超过预设的阈值时,自动停止对该服务的调用的机制。Sentinel 是阿里巴巴开源的面向分布式服务架构的高可用性保障组件,主要功能包括流量控制、熔断降级和系统负载保护等。
在微服务架构中,服务间的依赖错综复杂,任何一个服务的不稳定或失败都可能引起连锁反应,导致整个系统的不可用。熔断机制的引入,就是为了避免这种连锁反应,当检测到调用服务的失败率或延迟超过一定的阈值时,自动切断对该服务的调用,触发熔断,同时可能会提供一个备用方案(如返回一个默认值或调用一个备用服务),直到该服务恢复正常。

Sentinel 实现熔断主要有以下几种策略:
在这里插入图片描述

1.慢调用比例策略:当资源的平均响应时间超过阈值(如200ms),并且在一段时间内(如最近1分钟)的慢调用比例超过设定的比例(如50%),则对该资源进行熔断。
2.异常比例策略:当资源在一段时间内的异常比例超过设定的阈值(如50%),则对该资源进行熔断。
3.异常数策略:当资源在一段时间内的异常数超过设定的阈值,则对该资源进行熔断。
Sentinel 熔断的目的是通过对不稳定服务的及时隔离,保护系统的整体稳定性,同时也给出现问题的服务一个自我恢复的机会。一旦服务熔断后,Sentinel 会进入一个时间窗口,在这个时间窗口内部分请求(根据预设规则)仍然会尝试执行,如果这些尝试请求成功,则服务可能会从熔断状态恢复。这个过程称为“半开”状态,是为了探测服务是否已经恢复正常。

熔断的原理是通过对服务的监控和评估,根据一定的规则来判断服务的健康状况。当服务的错误率或者响应时间过设定的闻值时,熔断器会触发,并将后续的请求讯速拦截或者返回错误信息,而不是继续调用该服务,从而避免由于故障服务的长时间不可用或者响应过慢而导致整个系统的延迟或者崩溃。
容断机制的好外是能够快速失败并返回错误信息,避免资源的浪费和系统的连锁故障。当服务恢复正常时,熔断会逐渐放行请求,验证服务的可用性,确保系统逐渐恢复正常运行。
熔断通常与流量控制等其他机制结合使用,以加强系统的稳定性和可靠性。它可以降低系统的依赖性,提高系统容错能力,对于大规模分布式系统来说尤为重要。

4.4Sentinel组成

Sentinel中有两个重要的组件:资源和规则
1.资源:Sentinel中被保护的对象,可以是方法,接口,url等
2.规则:对资源的访问策略,包括限流,熔断,热点等。规则包含以下这些:
2.1限流规则:基于不同的模式对流量进行控制,可以直接拒绝,等待等。
2.2熔断规则:异常情况下进行熔断降级。
2.3热点规则:对热点数据进行针对性的流量控制。
2.4授权规则:对调用方进行黑白名单的限制。
2.5系统保护规则:基于CPU、负载、整体QPS、线程数等多个指标进行自适应的流量控制

相关文章:

Sentinel(理论版)

Sentinel 1.什么是Sentinel Sentinel 是一个开源的流量控制组件,它主要用于在分布式系统中实现稳定性与可靠性,如流量控制、熔断降级、系统负载保护等功能。简单来说,Sentinel 就像是一个交通警察,它可以根据系统的实时流量&…...

python3 获取某个文件夹所有的pdf文件表格提取表格并一起合并到excel文件

下面是一个完整的示例,其中包括了merge_tables_to_excel函数的定义,并且假设该函数的功能是从每个PDF文件中提取第一个表格并将其合并到一个Excel文件中: import os from pathlib import Path import pandas as pd import pdfplumber …...

【AIGC】Stable Diffusion的模型入门

下载好相关模型文件后,直接放入Stable Diffusion相关目录即可使用,Stable Diffusion 模型就是我们日常所说的大模型,下载后放入**\webui\models\Stable-diffusion**目录,界面上就会展示相应的模型选项,如下图所示。作者…...

【JavaEE】_HTTP请求首行详情

目录 1. URL 2. 方法 2.1 GET方法 2.2 POST方法 2.3 GET与POST的区别 2.4 低频使用方法 1. URL 在mysql JDBC中已经提到过URL的相关概念: 如需查看有关JDBC更多内容,原文链接如下: 【MySQL】_JDBC编程-CSDN博客 URL用于描述某个资源…...

Linux第48步_编译正点原子的出厂Linux内核源码

编译正点原子的出厂 Linux 内核源码,为后面移植linux做准备。研究对象如下: 1)、linux内核镜像文件“uImage” 路径为“arch/arm/boot”; 2)、设备树文件“stm32mp157d-atk.dtb” 路径为“arch/arm/boot/dts” 3)、默认配置文件“stm32m…...

程序员为什么不喜欢关电脑?

程序员为什么不喜欢关电脑? 本人40 最近待业。,希望 3月前能再就业吧!就不喜欢关电脑 这个问题来说是不好习惯。毕竟你的电脑不是服务器,哈哈。但是程序员都很懒,能自动化的,就让机器干。我在此之前 也工作…...

【初始RabbitMQ】了解和安装RabbitMQ

RabbitMQ的概念 RabbitMQ是一个消息中间件:他可以接受并转发消息。例如你可以把它当做一个快递站点,当你要发送一个包 裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑 RabbitMQ 是 …...

Linux第56步_根文件系统第3步_将busybox构建的根文件系统烧录到EMMC

1、第1次将“rootfs”打包 1)、打开第1个终端,准备在“mnt”目录下创建挂载目录“rootfs”; 输入“ls回车” 输入“cd /mnt回车” 输入“ls回车”,查看“mnt”目录下的文件和文件夹 输入“sudo mkdir rootfs回车”,在“mnt”…...

Linux进程间通信(三)-----System V消息队列

消息队列的概念及原理 消息队列实际上就是在系统当中创建了一个队列,队列当中的每个成员都是一个数据块,这些数据块都由类型和信息两部分构成,两个互相通信的进程通过某种方式看到同一个消息队列,这两个进程向对方发数据时&#x…...

Elasticsearch:混合搜索是 GenAI 应用的未来

在这个竞争激烈的人工智能时代,自动化和数据为王。 从庞大的存储库中有效地自动化搜索和检索信息的过程的能力变得至关重要。 随着技术的进步,信息检索方法也在不断进步,从而导致了各种搜索机制的发展。 随着生成式人工智能模型成为吸引力的中…...

态、势、感、知的偏序、全序与无序

在态势感知中,"态"、"势"、"感"和"知"可以被理解为描述不同层次的概念。而在偏序、全序和无序方面,它们可以有不同的关系,简单地说,偏序关系表示部分的可比较性,全序关系表示…...

【从Python基础到深度学习】 8. VIM两种状态

一、安装 sudo apt install vim 二、VIM两种模式 - 命令状态/编辑状态 1.1 进入/退出VIM 进入VIM vim 退出vim :q <enter> 2.2 根目录下添加配置文件 window下创建vimrc类型文件内容如下&#xff1a; set nu set cursorline set hlsearch set tabstop4 使用Wins…...

java微服务面试篇

目录 目录 SpringCloud Spring Cloud 的5大组件 服务注册 Eureka Nacos Eureka和Nacos的对比 负载均衡 负载均衡流程 Ribbon负载均衡策略 自定义负载均衡策略 熔断、降级 服务雪崩 服务降级 服务熔断 服务监控 为什么需要监控 服务监控的组件 skywalking 业务…...

OpenAI 生成视频模型 Sora 论文翻译

系列文章目录 前言 视频生成模型作为世界模拟器 本技术报告的重点是 (1) 将所有类型的视觉数据转换为统一表示&#xff0c;以便对生成模型进行大规模训练的方法&#xff0c;以及 (2) 对索拉的能力和局限性的定性评估。 该报告不包括模型和实现细节。 许多先前的工作使用各种方…...

2.13日学习打卡----初学RocketMQ(四)

2.13日学习打卡 目录&#xff1a; 2.13日学习打卡一.RocketMQ之Java ClassDefaultMQProducer类DefaultMQPushConsumer类Message类MessageExt类 二.RocketMQ 消费幂消费过程幂等消费速度慢的处理方式 三.RocketMQ 集群服务集群特点单master模式多master模式多master多Slave模式-…...

ZigBee学习——BDB

✨本博客参考了善学坊的教程&#xff0c;并总结了在实现过程中遇到的问题。 善学坊官网 文章目录 一、BDB简介二、BDB Commissioning Modes2.1 Network Steering2.2 Network Formation2.3 Finding and Binding&#xff08;F & B&#xff09;2.4 Touchlink 三、BDB Commissi…...

使用Docker快速部署MySQL

部署MySQL 使用Docker安装&#xff0c;仅仅需要一步即可&#xff0c;在命令行输入下面的命令 docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/Shanghai \-e MYSQL_ROOT_PASSWORD123456 \mysql MySQL安装完毕&#xff01;通过任意客户端工具即可连接到MySQL. 当我们执…...

力扣热题100_滑动窗口_3_无重复字符的最长子串

文章目录 题目链接解题思路解题代码 题目链接 3. 无重复字符的最长子串 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”&#xff0c;所以其长度为 3。 示…...

RM电控工程讲义

HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) 是一个回调函数&#xff0c;通常在STM32的HAL库中用于处理CAN&#xff08;Controller Area Network&#xff09;接收FIFO 0中的消息。当CAN接口在FIFO 0中有待处理的消息时&#xff0c;这个函数会被调用。 HAL库C…...

论文阅读:《Deep Learning-Based Human Pose Estimation: A Survey》——Part 1:2D HPE

目录 人体姿态识别概述 论文框架 HPE分类 人体建模模型 二维单人姿态估计 回归方法 目前发展 优化 基于热图的方法 基于CNN的几个网络 利用身体结构信息提供构建HPE网络 视频序列中的人体姿态估计 2D多人姿态识别 方法 自上而下 自下而上 2D HPE 总结 数据集…...

C语言——oj刷题——杨氏矩阵

目录 1. 理解杨氏矩形的特点 2. 实现杨氏矩形查找算法 3. 编写示例代码 当我们谈到杨氏矩形时&#xff0c;我们指的是一种在二维数组中查找目标元素的高效算法。它是由杨氏&#xff08;Yan Shi&#xff09;教授提出的&#xff0c;因此得名为杨氏矩形。 杨氏矩形问题的场景是…...

C++ 50道面试题

1. static关键字 1.全局static变量 存储位置&#xff1a;静态存储区&#xff0c;在程序运行期间一直存在 初始化&#xff1a; 未手动初始化的变量自动初始化为0 作用域&#xff1a; 从定义之处开始&#xff0c;到文件结束&#xff0c;仅能在本文件中使用 2.局部static变量…...

寒假学习记录14:JS字符串

目录 查找字符串中的特定元素 String.indexOf() &#xff08;返回索引值&#xff09; 截取字符串的一部分 .substring() &#xff08;不影响原数组&#xff09;&#xff08;不允许负值&#xff09; 截取字符串的一部分 .slice() &#xff08;不影响原数…...

【数学建模】【2024年】【第40届】【MCM/ICM】【C题 网球运动中的“动量”】【解题思路】

一、题目 &#xff08;一&#xff09; 赛题原文 2024 MCM Problem C: Momentum in Tennis In the 2023 Wimbledon Gentlemen’s final, 20-year-old Spanish rising star Carlos Alcaraz defeated 36-year-old Novak Djokovic. The loss was Djokovic’s first at Wimbledon…...

无人驾驶LQR控制算法 c++ 实现

参考博客&#xff1a; &#xff08;1&#xff09;LQR的理解与运用 第一期——理解篇 &#xff08;2&#xff09;线性二次型调节器(LQR)原理详解 &#xff08;3&#xff09;LQR控制基本原理&#xff08;包括Riccati方程具体推导过程&#xff09; &#xff08;4&#xff09;【基础…...

Karnaugh map (卡诺图)

【Leetcode】 289. Game of Life According to Wikipedia’s article: “The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970.” The board is made up of an m x n grid of cells, wh…...

C# CAD 框选pdf输出

在C#中进行AutoCAD二次开发时&#xff0c;实现框选&#xff08;窗口选择&#xff09;实体并输出这些实体到PDF文件通常涉及以下步骤&#xff1a; public ObjectIdCollection GetSelectedEntities() {using (var acTrans HostApplicationServices.WorkingDatabase.Transaction…...

【Linux】 Linux 小项目—— 进度条

进度条 基础知识1 \r && \n2 行缓冲区3 函数介绍 进度条实现版本 1代码实现运行效果 版本2 Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&#xff01;&#xff01;&#xff01;下一篇文章见&#xff01;&#xff01;&#xff01; 基础知识 1 \r &&a…...

Sora和Pika,RunwayMl,Stable Video对比!网友:Sora真王者,其他都是弟

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…...

Go内存优化与垃圾收集

Go提供了自动化的内存管理机制&#xff0c;但在某些情况下需要更精细的微调从而避免发生OOM错误。本文介绍了如何通过微调GOGC和GOMEMLIMIT在性能和内存效率之间取得平衡&#xff0c;并尽量避免OOM的产生。原文: Memory Optimization and Garbage Collector Management in Go 本…...

【Spring】Bean 的生命周期

一、Bean 的生命周期 Spring 其实就是一个管理 Bean 对象的工厂&#xff0c;它负责对象的创建&#xff0c;对象的销毁等 所谓的生命周期就是&#xff1a;对象从创建开始到最终销毁的整个过程 什么时候创建 Bean 对象&#xff1f;创建 Bean 对象的前后会调用什么方法&#xf…...

云计算基础-存储基础

存储概念 什么是存储&#xff1a; 存储就是根据不同的应用程序环境&#xff0c;通过采取合理、安全、有效的方式将数据保存到某些介质上&#xff0c;并能保证有效的访问&#xff0c;存储的本质是记录信息的载体。 存储的特性&#xff1a; 数据临时或长期驻留的物理介质需要保…...

问题:人的安全知识和技能是天生的。() #媒体#知识分享#学习方法

问题&#xff1a;人的安全知识和技能是天生的。&#xff08;) 人的安全知识和技能是天生的。() 参考答案如图所示 问题&#xff1a;&#xff08;&#xff09;是党和国家的根本所在、命脉所在&#xff0c;是全国各族人民的利益所在、幸福所在。 A.人民当家作主 B.坚持和完善…...

【数据分享】2001~2020年青藏高原植被净初级生产力数据集

各位同学们好&#xff0c;今天和大伙儿分享的是2001~2020年青藏高原植被净初级生产力数据集。如果大家有下载处理数据等方面的问题&#xff0c;您可以私信或评论。 朱军涛. (2022). 青藏高原植被净初级生产力数据集&#xff08;2001-2020&#xff09;. 国家青藏高原数据中心. …...

【Spring MVC篇】返回响应

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Spring MVC】 本专栏旨在分享学习Spring MVC的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一、返回静态页面…...

阿里云BGP多线精品EIP香港CN2线路低时延,价格贵

阿里云香港等地域服务器的网络线路类型可以选择BGP&#xff08;多线&#xff09;和 BGP&#xff08;多线&#xff09;精品&#xff0c;普通的BGP多线和精品有什么区别&#xff1f;BGP&#xff08;多线&#xff09;适用于香港本地、香港和海外之间的互联网访问。使用BGP&#xf…...

(08)Hive——Join连接、谓词下推

前言 Hive-3.1.2版本支持6种join语法。分别是&#xff1a;inner join&#xff08;内连接&#xff09;、left join&#xff08;左连接&#xff09;、right join&#xff08;右连接&#xff09;、full outer join&#xff08;全外连接&#xff09;、left semi join&#xff08;左…...

创新技巧|迁移到 Google Analytics 4 时如何保存历史 Universal Analytics 数据

Google Universal Analytics 从 2023 年 7 月起停止收集数据&#xff08;除了付费 GA360 之外&#xff09;。它被Google Analytics 4取代。为此&#xff0c;不少用户疑惑&#xff1a;是否可以将累积&#xff08;历史&#xff09;数据从 Google Analytics Universal 传输到 Goog…...

一个小而实用的 Python 包 pangu,实现在中文和半宽字符(字母、数字和符号)之间自动插入空格

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一个小巧的库&#xff0c;可以避免自己重新开发功能。利用 Python 包 pangu&#xff0c;可以轻松实现在 CJK&#xff08;中文、日文、韩文&#xff09;和半宽字符&#xff08;字母、数字和符号&#xf…...

openJudge | 中位数 C语言

总时间限制: 2000ms 内存限制: 65536kB 描述 中位数定义&#xff1a;一组数据按从小到大的顺序依次排列&#xff0c;处在中间位置的一个数或最中间两个数据的平均值&#xff08;如果这组数的个数为奇数&#xff0c;则中位数为位于中间位置的那个数&#xff1b;如果这组数的个…...

ctfshow-文件上传(web151-web161)

目录 web151 web152 web153 web154 web155 web156 web157 web158 web159 web160 web161 web151 提示前台验证不可靠 那限制条件估计就是在前端设置的 上传php小马后 弹出了窗口说不支持的格式 查看源码 这一条很关键 这种不懂直接ai搜 意思就是限制了上传类型 允许…...

cudnn免登录下载

现在要下载cuDNN&#xff0c;点击下载的页面后都是出现要求先加入Nvidia developers才能进行下载&#xff0c;但这个注册的过程非常慢&#xff0c;常常卡在第二个步骤&#xff0c;这里根据亲身的经验介绍一个可以绕过这个注册或登陆步骤的方式直接下载cuDNN。遇到此类问题的可以…...

SQLyog安装配置(注册码)连接MySQL

下载资源 博主给你打包好了安装包&#xff0c;在网盘里&#xff0c;只有几Mb&#xff0c;防止你下载到钓鱼软件 快说谢谢博主&#xff08;然后心甘情愿的点个赞~&#x1f60a;&#xff09; SQLyog.zip 安装流程 ①下载好压缩包后并解压 ②打开文件夹&#xff0c;双击安装包 ③…...

java+SSM+mysql 开放式实验管理系统78512-计算机毕业设计项目选题推荐(免费领源码)

摘 要 我国高校开放式实验管理普遍存在实验设备使用率较低、管理制度不完善,实验设备共享程度不高等诸多问题。要在更大范围推行开放式实验管理,就必须在开放式实验教学管理流程中,通过引入信息化管理加大信息技术在其中的应用,才能真正发挥这种教学模式的开放性优势。 本系统…...

代码随想录算法训练营第三十三天|1005.K次取反后最大化的数组和、134.加油站、135.分发糖果

1005.K次取反后最大化的数组和 public class Solution {public int LargestSumAfterKNegations(int[] nums, int k) {int cnt0;int sum0;int minint.MaxValue;Array.Sort(nums);for(int i0;i<nums.Length;i){if(nums[i]>0){continue;}else{nums[i]-nums[i];cnt;}if(cntk…...

解决LeetCode编译器报错的技巧:正确处理位操作中的数据类型

一天我在leetcode上刷题时&#xff0c;遇到了这样的题目&#xff1a; 随即我写了如下的代码&#xff1a; int convertInteger(int A, int B) {int count 0;int C A ^ B;int flag 1;while(flag){if (C & flag){count;}flag<<1;}return count;} 但LeetCode显示如下…...

一周学会Django5 Python Web开发-Django5操作命令

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计11条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…...

反转链表【基础算法精讲 06】

视频地址 反转链表【基础算法精讲 06】_哔哩哔哩_bilibili 概念 链表的每一个结点都包含节点值 和1指向下一个结点的next指针 , 链表的最后一个结点指向空; 206 . 反转链表 用cur记录当前遍历到的结点 &#xff0c; 用pre表示下一个结点 &#xff0c; 用nxt表示cur的下一个…...

Git 初学

目录 一、需求的产生 二、版本控制系统理解 1. 认识版本控制系统 2. 版本控制系统分类 &#xff08;1&#xff09;集中式版本控制系统 缺点&#xff1a; &#xff08;2&#xff09;分布式版本控制系统 三、初识 git 四、git 的使用 例&#xff1a;将 “ OLED文件夹 ”…...

智胜未来,新时代IT技术人风口攻略-第四版(弃稿)

文章目录 前言鸿蒙生态科普调研人员画像高校助力鸿蒙高校鸿蒙课程开设占比教研力量并非唯一原因 企业布局规划全盘接纳仍需一段时间企业对鸿蒙的一些诉求 机构入场红利机构鸿蒙课程开设占比机构对鸿蒙的一些诉求 鸿蒙实际体验高校用户群体高度认同与影响体验企业用户群体未来可…...