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

5.Sentinel入门与使用

5.Sentinel入门与使用

  • 1.什么是 Sentinel?
    • Sentinel 主要有以下几个功能:
  • 2.为什么需要 Sentinel?
  • 3.Sentinel 基本概念
    • 3.1 什么是流量控制?
      • 3.1.1 常见流量控制算法
      • 3.1.2 Sentinel 流量控制
      • 流控效果介绍如下:
    • 3.2 什么是熔断?
      • 熔断策略
    • 3.3 Sentinel 组成(资源和规则)
  • 4.Sentinel 基本使用
    • 4.1实现限流功能
      • 4.1.1 添加 Sentinel 框架依赖
      • 4.1.2 定义资源
        • @SentinelResource 注解详解
        • blockHandler 使用注意事项:
        • 资源的定义方式有两种:
          • 1.通过代码定义
          • 2.通过注解定义
      • 4.1.3 定义规则
      • 4.1.4 验证效果
    • 4.2实现熔断(降级)功能
    • 4.3 如何判断是限流还是熔断?
  • 5.Sentinel 控制台
    • 5.1 使用 Sentinel 控制台实现限流
    • 5.2下载并运行 Sentinel Dashboard
    • 5.3 在程序中加入并配置 Sentinel
    • 5.4 设置规则
      • 5.4.1 新增限流规则
      • 5.4.2 新增熔断规则
      • 5.4.3 新增热点规则
        • 热点限流
      • 5.4.4 新增授权规则
      • 5.4.5 新增系统保护规则
    • 5.5验证效果
    • 5.6 自定义 Sentinel 异常
  • 6.使用 Nacos 存储数据
    • 6.1 添加依赖
    • 6.2配置数据源
    • 6.3 Nacos 新建配置
    • 6.4 验证效果
  • 7.Sentinel 配置多数据源 (扩展)
    • 7.1 配置多数据源
    • 7.2 Nacos 新建熔断配置
  • Sentinel和Gateway
    • 1.功能实现
      • 1.添加框架依赖
      • 2.设置配置文件
      • 3. 设置限流和熔断规则
      • 4.验证规则
    • 2. 实现原理
  • 8.工作机制

1.什么是 Sentinel?

Spring Cloud Alibaba Sentinel(以下简称 Sentinel)是一个开源的流量控制和熔断框架,它是 Alibaba 开源的微服务框架Spring Cloud Alibaba 中的一个组件。Sentinel 旨在解决分布式系统中的流量控制和熔断问题,帮助开发人员保护微服务应用免受系统负载过高和故障的影响。

Sentinel 主要有以下几个功能:

  1. 流量控制:可以通过配置规则对接口的访问量进行限制,避免因流量过高而导致系统崩溃
  2. 服务熔断:当后端服务不可用或异常时,可以通过配置熔断规则,快速失败并返回错误信息,避免连锁故障。
  3. 系统负载保护:根据系统的负载情况,自动控制流量的通过,防止系统出现过载现象。
  4. 统计和监控:提供实时的流量控制和熔断统计信息,可以通过 Dashboard(控制台)进行可视化监控和配置。

2.为什么需要 Sentinel?

在这里插入图片描述
需要使用 Sentinel 的原因主要有以下几个!

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

3.Sentinel 基本概念

3.1 什么是流量控制?

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

3.1.1 常见流量控制算法

在这里插入图片描述
常见的流量控制算法有令牌桶算法(Token Bucket)和漏桶算法(Leaky Bucket)。这两种算法都可以用来平滑流量并控制数据包的传输速率,防止突发流量对系统造成影响。

  1. 令牌桶算法(Token Bucket):
    令牌桶算法是一种基于令牌的流量控制算法,它维护一个令牌桶,该桶以固定的速率往里面放入令牌。每当有数据包到达时,需要从令牌桶中取出一个令牌,如果没有足够的令牌,则数据包将被丢弃或延迟处理。这样可以限制数据包的传输速率,平滑流量,防止突发流量对系统造成影响。

举例说明:
假设一个令牌桶算法的令牌桶容量为100个令牌,每秒往桶中放入10个令牌,即系统的传输速率为10个数据包/秒。当一个数据包到达时,需要从令牌桶中取出一个令牌,如果桶中有足够的令牌,则可以传输数据包;如果桶中没有足够的令牌,则需要等待,直到桶中有足够的令牌为止。

  1. 漏桶算法(Leaky Bucket):
    漏桶算法是一种基于漏桶的流量控制算法,它维护一个固定容量的漏桶,数据包以固定速率进入漏桶。当数据包到达时,如果漏桶未满,则可以传输数据包;如果漏桶已满,则数据包将被丢弃或延迟处理。漏桶算法可以平滑流量,防止突发流量对系统造成影响。

举例说明:
假设一个漏桶算法的漏桶容量为100个数据包,漏桶的漏出速率为10个数据包/秒,即系统的传输速率为10个数据包/秒。当一个数据包到达时,如果漏桶未满,则可以传输数据包;如果漏桶已满,则需要等待,直到有空间为止。

这两种算法在实际应用中都可以有效地控制流量,保护系统免受突发流量的影响。在选择算法时,可以根据具体的需求和场景来决定使用哪种算法。

3.1.2 Sentinel 流量控制

Sentinel 流量控制有以下几个角度:

  • 资源的调用关系,例如资源的调用链路,资源和资源之间的关系,
  • 运行指标,例如 QPS(Queries Per Second,每秒查询数)、线程池、系统负载等。
  • 控制的效果,例如直接限流、冷启动、排队等。

Sentinel 的设计理念是让您自由选择控制的角度,并进行灵活组合,从而达到想要的效果。Sentinel 限流配置:

流控效果介绍如下:

  • 快速失败:该方式是默认的流量控制方式,比如 OPS 超过任意规则的阈值后,新的请求就会被立即拒绝,拒绝方式为抛出 FlowException。这种方式适用于对系统处理能力确切已知的情况下,比如通过压测确定了系统的准确水位时。
  • 排队等待(也叫匀速通过):排队等待会严格控制请求通过的间隔时间,让请求稳定且匀速的通过,可以用来处理间隔性突发的高流量。例如抢票软件,在某一秒或者一分钟内有大量的请求到来,而接下来的一段时间里处于空闲状态,我们希望系统能够在接下来的空余时间里也能出去这些请求,而不是直接拒绝。在设置排队等待时,需要填写超时时间。
  • Warm Up:此项叫做预热或者冷启动方式,此模式主要是防止流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮,通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮。当使用 Warm Up 模式时,我们还需要指定启动时开放的 QPS 比例(DEFAULT COLD FACTOR,默认值为 3,代表 30%),以及系统预热所需时长(warmUpPeriodSec,默认值是 10 秒)。

3.2 什么是熔断?

熔断是一种在分布式系统中处理故障和异常的策略。当某个服务或者接口发生故障或异常时,熔断机制会迅速将请求拒绝或者返回错误信息,而不是让请求一直等待或者重试,以保护系统免受故障的扩散影响。

熔断的原理是通过对服务的监控和评估,根据一定的规则来判断服务的健康状况。当服务的错误率或者响应时间超过设定的阈值时,熔断器会触发,并将后续的请求迅速拦截或者返回错误信息,而不是继续调用该服务,从而避免由于故障服务的长时间不可用或者响应过慢而导致整个系统的延迟或者崩溃。
熔断机制的好处是能够快速失败并返回错误信息,避免资源的浪费和系统的连锁故障。当服务恢复正常时,熔断器会逐渐放行请求,验证服务的可用性,确保系统逐渐恢复正常运行。

熔断策略

Sentinel是阿里巴巴开源的一款面向分布式服务架构的高可用流量控制组件,它提供了流量控制、熔断降级、系统负载保护等功能。在Sentinel中,熔断是一种重要的流量控制策略,用于保护系统免受异常流量的影响。以下是几种常见的Sentinel熔断策略:

  1. 基于异常比例的熔断策略
    这种策略会根据请求的异常比例来触发熔断。当系统中某个接口的异常比例超过设定的阈值时,Sentinel会触发熔断,暂时停止对该接口的请求处理,以避免异常请求继续对系统造成影响。在熔断打开后,Sentinel会定时尝试关闭熔断,恢复对该接口的请求处理。

  2. 基于平均响应时间的熔断策略
    这种策略会根据接口的平均响应时间来触发熔断。当系统中某个接口的平均响应时间超过设定的阈值时,Sentinel会触发熔断,暂时停止对该接口的请求处理,以避免响应时间过长影响系统的整体性能。在熔断打开后,Sentinel会定时尝试关闭熔断,恢复对该接口的请求处理。

  3. 基于并发线程数的熔断策略
    这种策略会根据接口的并发线程数来触发熔断。当系统中某个接口的并发线程数超过设定的阈值时,Sentinel会触发熔断,暂时停止对该接口的请求处理,以避免过多的并发请求导致系统负载过高。在熔断打开后,Sentinel会定时尝试关闭熔断,恢复对该接口的请求处理。

这些熔断策略可以根据具体的业务需求和系统特点进行配置和调整,帮助系统在面对异常流量时保持稳定和可靠。在实际应用中,可以根据系统的情况选择合适的熔断策略,并通过监控和调优来保证系统的高可用性和稳定性。

3.3 Sentinel 组成(资源和规则)

Sentine| 中有两个重要的组件:资源和规则。

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

4.Sentinel 基本使用

在这里插入图片描述

在这里插入图片描述
Sentinel 基本使用主要分为以下 4 步:

  1. 添加 Sentinel 依赖
  2. 定义资源
  3. 定义规则
  4. 验证效果

4.1实现限流功能

在这里插入图片描述

4.1.1 添加 Sentinel 框架依赖

在这里插入图片描述

在这里插入图片描述

4.1.2 定义资源

在这里插入图片描述
在这里插入图片描述

@SentinelResource 注解详解

@SentinelResource 注解详解
@SentinelResource 注解属性说明:

  • value:资源名称,必需项(不能为空)
  • entryType:资源调用的流量类型入口流量(EntryType.IN)和出口流量(EntryType.OUT)注意系统规则只对 IN 生效。
  • blockHandler/blockHandlerClass: 限流和熔断时执行 BlockException 所对应的方法名。 限流和熔断执行的业务
  • fallback/fallbackClass:非 BlockException 时,其他非限流、非熔断时异常对应的方法。
  • exceptionsToIgnore:用于指定哪些异常被排除掉,不会计入异常统计中,也不会进入 falback 逻辑中,而是会原样抛出。
    注:1.6.0 之前的版本 fallback 函数只针对熔断降级异常(DegradeException)进行处理,不能针对业务异常进行处理。
blockHandler 使用注意事项:

在这里插入图片描述

资源的定义方式有两种:
1.通过代码定义

通过代码定义资源
可以通过代码的的方式 SphU.entry("resourceName”)来定义资源,具体实现代码如下:
在这里插入图片描述
SphU 是 Sentinel Protection Hotspot Util 的缩写,Sentinel 热点保护工具类。

2.通过注解定义

通过注解 @SentinelResource 也可以实现资源的定义,如下代码所示:
在这里插入图片描述

  • value:资源名称,必需项(不能为空)
  • entryType:资源调用的流量类型:入口流量(EntryType.IN)和出口流量(EntryType.OUT),注意系统规则只对 IN 生效。
  • blockHandler/blockHandlerClass: 限流和熔断时执行 BlockException 所对应的方法名。fallback/fallbackClass:非BlockException 时,其他非限流、非熔断时异常对应的方法
  • exceptionsToIgnore:用于指定哪些异常被排除掉,不会计入异常统计中,也不会进入 fallback 逻辑中,而是会原样抛出。

注:1.6.0 之前的版本 falback 函数只针对熔断降级异常(DegradeException)进行处理,不能针对业务异常进行处理。

4.1.3 定义规则

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.1.4 验证效果

在这里插入图片描述

在这里插入图片描述

4.2实现熔断(降级)功能

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.3 如何判断是限流还是熔断?

在这里插入图片描述

在这里插入图片描述

5.Sentinel 控制台

在这里插入图片描述

Sentinel 控制台包含如下功能:

  • 查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断机器是否在线。
  • 监控 (单机和集群聚合):通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信息,最终可以实现秒级的实时监控。
  • 规则管理和推送:统一管理推送规则。
  • 鉴权:生产环境中鉴权非常重要。这里每个开发者需要根据自己的实际情况进行定制。注意:Sentinel控制台目前仅支持单机部署。Sentinel 控制台项日提供 Sentinel 功能全集示例,不作为开箱即用的生产环境控制台,若希望在生产环境使用请根据文档自行进行定制和改造。

5.1 使用 Sentinel 控制台实现限流

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5.2下载并运行 Sentinel Dashboard

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5.3 在程序中加入并配置 Sentinel

在这里插入图片描述

在这里插入图片描述

5.4 设置规则

在这里插入图片描述

在这里插入图片描述

5.4.1 新增限流规则

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.4.2 新增熔断规则

在这里插入图片描述

5.4.3 新增热点规则

热点限流

在这里插入图片描述
在这里插入图片描述

5.4.4 新增授权规则

在这里插入图片描述

在这里插入图片描述

5.4.5 新增系统保护规则

在这里插入图片描述

5.5验证效果

在这里插入图片描述

在这里插入图片描述

5.6 自定义 Sentinel 异常

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.使用 Nacos 存储数据

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

6.1 添加依赖

在这里插入图片描述

6.2配置数据源

在这里插入图片描述

6.3 Nacos 新建配置

在这里插入图片描述

6.4 验证效果

在这里插入图片描述

7.Sentinel 配置多数据源 (扩展)

在这里插入图片描述

7.1 配置多数据源

在这里插入图片描述

7.2 Nacos 新建熔断配置

在这里插入图片描述
在这里插入图片描述

Sentinel和Gateway

在这里插入图片描述

在这里插入图片描述

1.功能实现

在这里插入图片描述

1.添加框架依赖

在这里插入图片描述

在这里插入图片描述

2.设置配置文件

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3. 设置限流和熔断规则

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.验证规则

在这里插入图片描述

2. 实现原理

在这里插入图片描述

8.工作机制

在这里插入图片描述

相关文章:

5.Sentinel入门与使用

5.Sentinel入门与使用 1.什么是 Sentinel?Sentinel 主要有以下几个功能: 2.为什么需要 Sentinel?3.Sentinel 基本概念3.1 什么是流量控制?3.1.1 常见流量控制算法3.1.2 Sentinel 流量控制流控效果介绍如下: 3.2 什么是熔断?熔断策略 3.3 Sentinel 组成(资源和规…...

上位机图像处理和嵌入式模块部署(h750 mcu和图像处理)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们说过,h750和之前的103、407相比较,本身cpu频率比较高,flash大小一般,但是ram比较大&#x…...

信创服务器操作系统的适配迁移分析

浅谈信创服务器操作系统的适配迁移 01 服务器操作系统迁移适配流程复杂 随着CentOS停服临近和红帽RHEL源码权限受限,服务器操作系统安全漏洞风险加剧。国内众多企业面临CentOS、REHL等系统升级替换的挑战。同时,出于安全、功能升级和合规需求&#xff0…...

在Ubuntu 20.04上安装和配置MySQL 8:详细指南和远程访问设置

目录 一、MySQL 8的特点和优势 二、在Ubuntu 20.04上安装MySQL 8 三、初始化MySQL 四、配置MySQL远程访问 五、 创建远程访问用户 六. 配置防火墙 七、 测试远程访问 总结 MySQL是一种开源的关系型数据库管理系统,被广泛应用于各种应用程序和网站中。MySQL …...

Vue43-单文件组件

一、脚手架的作用 单文件组件:xxx.vue,浏览器不能直接运行!!! 脚手架去调用webpack等第三方工具。 二、vue文件的命名规则 建议用下面的两种方式。(首字母大写!!!&#x…...

如何快速使用向量检索服务DashVector?

免费体验阿里云高性能向量检索服务:https://www.aliyun.com/product/ai/dashvector 本文将介绍如何快速上手使用向量检索服务DashVector。 前提条件 已创建Cluster:创建Cluster。 已获得API-KEY:API-KEY管理。 已安装最新版SDK&#xff1a…...

Linux 用户和用户组 创建用户 创建组

介绍 一个组有多个用户,可以给组分配权限,那么该组的使用用户都有该组的权限,就不用一个个分配,而且很好管理。 创建用户组 groupadd 组名删除用户组 groupdel test查看用户所属组 id [用户名]修改用户组 把abc用户添加到m…...

Character Animator 2024 mac/win版:赋予角色生命,动画更传神

Character Animator 2024是一款强大的角色动画制作软件,以其创新的功能和卓越的性能,为动画师、游戏开发者以及设计师们带来了全新的创作体验。 Character Animator 2024 mac/win版获取 这款软件采用了先进的骨骼绑定技术,使得角色动画的制作…...

短剧app广告变现模式开发

短剧app搭建是一个涉及多个方面的复杂过程,下面将介绍主要的步骤和考虑因素: 明确目标和定位:在开始搭建之前,首先要明确你的目标受众是谁,以及短剧app的主要定位是什么。这有助于在后续的开发过程中更有针对性地进行…...

如何选择适合的编程语言入门?

推荐学习网站:offernow.cn 如何选择最适合自己的编程语言呢?接下来,我给大家分享一些实用的建议,希望能帮到你们。 一、明确目标和兴趣 考虑你的兴趣和未来方向是选择编程语言的首要因素。如果你对网页开发感兴趣,可以…...

Spring Boot入门教程

Spring Boot入门教程可以按照以下步骤进行,以确保清晰和有条理地学习: 1. Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,旨在简化Spring应用的初始搭建以及开发过程。它使用了特定的方式来进行配置,使开发人员不再…...

芝麻文件重命名 一键批量重命名 支持批量修改图片 文档 文件夹名称

芝麻文件重命名是一款专业的文件批量重命名软件,它提供了丰富的功能和灵活的命名规则,可以大大提高文件管理的效率。以下是关于芝麻文件重命名的详细介绍: 一、软件特点 支持批量重命名:芝麻文件重命名支持文件和文件夹的批量重命…...

docker守护进程配置代理

一:配置 Docker 守护进程使用代理 1.创建或编辑 Docker 配置文件目录 2.创建或编辑代理配置文件 3.重新加载系统守护进程并重启 Docker 4.验证代理设置 5.使用 docker pull 拉取镜像,验证代理设置 步骤 1:创建或编辑 Docker 配置文件目录 Doc…...

使用Minikube部署Kubernetes环境

使用Minikube部署Kubernetes环境 1. Minikube简介 Minikube是一个轻量级的Kubernetes实现,它在本地运行一个Kubernetes集群,可以是单节点或者集群环境,主要用于开发和测试。Minikube支持Kubernetes的所有主要功能,包括Dashboard…...

蚂蚁集团:2023年科研投入211.9亿元

6月13日,蚂蚁集团发布2023年可持续发展报告。报告显示,2023年蚂蚁集团科研投入达到211.9亿元,再创历史新高,蚂蚁科技投入的重点是人工智能和数据要素技术。 蚂蚁集团董事长兼CEO井贤栋在报告致辞中说,面向未来&#x…...

pikachu靶场之XSS漏洞测试

一、环境配置 1.pikachu官网下载 下载地址:https://github.com/zhuifengshaonianhanlu/pikachu 2.百度网盘(里面含有pikachu跟phpstudy) 链接:pikachu下载 密码:abcd 配置:pikachu下载及安装-图文详解…...

python快速入门之Flask框架

文章目录 一、pip安装二、接口开发三、测试 一、pip安装 pip install flask 二、接口开发 from flask import Flaskapp Flask(__name__)app.route("/test") def index():return "test"if __name__ __main__:app.run()三、测试 http://127.0.0.1:5000…...

【云原生| K8S系列】Kubernetes Daemonset,全面指南

Kubernetes中的DaemonSet是什么? Kubernetes是一个分布式系统,Kubernetes平台管理员应该有一些功能可以在所有节点上运行特定于平台的应用程序。例如,在所有Kubernetes节点上运行日志代理。 这就是Daemonset发挥作用的地方。 Daemonset是一个原生的K…...

【Python机器学习实战】 | 基于决策树的药物研究分类预测

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…...

B端系统的UI框架选择,不要输在了起跑线,如何破?

所谓成也框架、败也框架,框架就是这么的优点和缺点鲜明,市面上的框架多如牛毛,谁家的最优秀呢?为何框架搞出来的UI界面同质化呢,如何避免这种情况,如何在框架的基础上进一步提升颜值和体验呢,本…...

RabbitMQ延迟消息(通过死信交换机实现)

延迟消息:生产者发送消息时指定一个时间,消费者不会立刻收到消息,而是在指定时间后才收到消息 通过DLX和TTL模拟出延迟队列的功能,即,消息发送以后,不让消费者拿到,而是等待过期时间&#xff0…...

Java - 分支结构 - if…else/switch

Java 分支结构 - if…else/switch if语句语法 if...else 语句语法实例 if...else if...else 语句语法实例 嵌套的 if…else 语句语法实例 switch 语句语法实例 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。 Java有两种分支结构&#xf…...

web安全渗透测试十大常规项(一):web渗透测试之XML和XXE外部实体注入

#详细点: XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。等同于JSON传输。XXE漏洞XML External Entity Injection,即xml外部实体注入漏洞,XXE漏洞发…...

任务3.8.2 利用RDD计算总分与平均分

实战:使用RDD 计算学生成绩的总分与平均分 项目背景 本项目旨在利用 Apache Spark 的强大数据处理能力,对存储在 HDFS 上的学生成绩文件进行处理,计算每个学生的总分和平均分。 项目目标 读取存储在 HDFS 上的成绩文件。计算每个学生的总…...

探索磁力搜索引擎:互联网资源获取的新视角

在当今数字化社会中,寻找和获取网络资源变得更加便捷和多样化。磁力搜索引擎作为这一趋势的一部分,提供了一种新颖而有效的方法来定位和获取用户所需的文件、媒体和其他数字内容。本文将深入探讨磁力搜索引擎的工作原理、使用场景及其在网络文化中的影响…...

立创开源学习篇(一)

1.机壳地 外面包围的一圈是机壳地,和金属外壳相连与电路板的GND不相连:(大疆很多产品有此设计) 屏蔽和接地:通过在电路板周围打孔,并连接到机壳地,可以形成有效的电磁屏蔽层(形成金…...

2024/6/18 英语每日一段

While refusing to attribute various problems to specific labs in order to protect the investigators’ sources, the Gladstone AI team told The Washington Times that it found various assessments of security issues were “totally untethered to reality” about…...

时隔一年,SSD大涨价?

同样产品,2T,去年400多到手,今年700。 去年 今年...

【TB作品】MSP430G2553,单片机,口袋板,流量积算仪设计

题9 流量积算仪设计 某型流量计精度为0.1%, 满刻度值为4L/s,流量计输出为4—20 mA。 设计基于MSP430及VFC32的流量积算仪。 具体要求 (1) 积算仪满刻度10000 L,精度0.1 L; 计满10000 L,自动归零并通过串口(RS232)向上位…...

九、数据结构(并查集)

文章目录 1.并查集操作的简单实现2.解决问题3. 并查集优化3.1 合并的优化3.2查询优化3.3查询优化2 通常用“帮派”的例子来说明并查集的应用背景&#xff1a;在一个城市中有 n ( n < 1 0 6 ) n(n < 10^6) n(n<106)个人&#xff0c;他们分成不同的帮派&#xff0c;给出…...

网页设计好的网站/今日头条荆州新闻

java.lang.Thread 和 java.lang.Runnable的区别 weixinweiboqqqzoneshnaicpker |浏览 1654 次 2011-11-17 16:53 |举报2011-11-17 17:19 最佳答案thread是类 runnable是接口实现多线程有两种方式&#xff1a; 1.继承Thread&#xff0c;然后重写他的run方法 2.实现Runnable接口&…...

wordpress 输出自定义/十大seo公司

fdsafsdfsfsafasdf转载于:https://blog.51cto.com/12218412/2403961...

本地专业app开发公司/国内seo做最好的公司

偏向锁、轻量级锁、自旋锁、重量级锁 悲观锁&#xff1a;重量锁&#xff08;典型代表synchronized&#xff09;乐观锁&#xff1a;偏向锁、轻量级锁、自旋锁 自旋锁 【定义】 自旋锁原理非常简单&#xff0c;如果持有锁的线程能在很短时间内释放锁资源&#xff0c;那么那些等…...

专业网站优化软件/网站建设案例

1、思路步骤&#xff1a; step: 1&#xff09;先从用户获得一个数据&#xff0c;放在大根堆&#xff1b; 2&#xff09;在获得一个数据与大根堆的堆顶进行比较&#xff0c;若小于等于堆顶就放入大根堆&#xff0c;否则 放入小根堆&#xff1b…...

网站建设公司 青岛/网店培训机构

一、相关知识 1、数据集构成&#xff1a;特征值目标值 2、机器学习算法分类 监督学习 目标值:类别–>分类问题 目标值:连续型数据–>回归问题 无监督学习 目标值:无 3、训练集和测试集之间的性能差异是过拟合的明显标志 ——————————————…...

网站建设中有关数据库问题/优化营商环境心得体会

当我们需要创建 Elasticsearch 索引时&#xff0c;数据源通常没有规范化&#xff0c;无法直接导入。 原始数据可以存储在数据库、原始 CSV/XML 文件中&#xff0c;甚至可以从第三方 API 获取。 在这种情况下&#xff0c;我们需要对数据进行预处理以使其与 Bulk API 一起使用。 …...