阿里云ACP云计算备考笔记 (5)——弹性伸缩

news2025/6/13 1:11:44

目录

第一章 概述

第二章 弹性伸缩简介

1、弹性伸缩

2、垂直伸缩

3、优势

4、应用场景

① 无规律的业务量波动

② 有规律的业务量波动

③ 无明显业务量波动

④ 混合型业务

⑤ 消息通知

⑥ 生命周期挂钩

⑦ 自定义方式

⑧ 滚的升级

5、使用限制

第三章 主要定义

1、工作原理

2、基础概念

① 伸缩组

② 弹性容器实例ECI

③ 稳定实例

④ SLB负载均衡实例

⑤ 伸缩模式

⑥ 实例配置信息来源

⑦ 伸缩配置

⑧ 伸缩规则

⑨ 自动触发任务

3、常见活动

① 伸缩活动

② 期望实例数

③ 并行伸缩活动

④ 非并行伸缩任务

4、伸缩组流程

① 伸缩组流程

② 组内实例生命周期

③ 生命周期挂钩

④ 冷却时间

第四章 使用流程

1、创建伸缩组

2、创建伸缩配置

3、启用伸缩组

4、创建伸缩规则

5、创建自动伸缩任务

① 定时任务

② 报警任务

第五章 伸缩组详解

1、创建伸缩组

2、伸缩组状态

3、创建伸缩组限制

4、创建步骤

5、删除伸缩组

① 删除保护

② 删除结果

③ 强制删除

④ 非强制删除

6、伸缩组内实例状态

7、自动创建ECS实例

8、手动创建ECS实例

9、查看伸缩组实例列表

10、移除或释放实例

11、转为备用状态

12、转出备用状态

13、转为保护状态

14、转为停用状态

15、手动移出或删除实例

16、自动移除策略

① 筛选最早伸缩配置对应的实例

② 筛选最早创建的实例

③ 筛选最新创建的实例

④ 无策略

第五章 伸缩配置详解

1、创建前提

2、创建步骤

3、伸缩配置状态

第六章 伸缩规则详解

1、规则类型

① 普通规则

② 步进规则

③ 预测规则

④ 目标追踪规则

第七章 伸缩模式详解

1、模式类型

① 固定数量模式

② 健康模式

③ 定时模式

④ 动态模式

⑤ 自定义模式

⑥ 多模式并行

2、健康模式说明

3、定时模式说明

4、动态模式说明

① 系统监控报警任务

② 自定义监控报警任务

③ 报警任务支持监控项

第八章 伸缩活动

1、弹性扩容

2、弹性缩容

3、伸缩活动特点

4、伸缩活动自动创建ECS实例

5、伸缩活动自动移出实例

6、手动添加实例到伸缩组

7、手动移出伸缩组实例

8、并行/非并行伸缩活动

① 并行伸缩活动

② 非并行伸缩活动

9、冷却时间

第九章 自动化运维


第一章 概述

第二章 弹性伸缩简介

1、弹性伸缩

        根据业务实际需求和策略,自动调整计算能力(即实例数量),自动适配当前业务实际的需求,优化成本,也优化系统的稳定性。

2、垂直伸缩

        不调整实例数量,而是调整实例的规格(vCPU和内存),系统自动完成停止实例,调整实例规格,启动实例。

3、优势

4、应用场景

① 无规律的业务量波动

        利用弹性伸缩的报警任务,阿里云根据实例的运行指标自动弹性伸缩。

        报警任务支持:CPU、内存、平均负载、内外网出入流量、TCP连接总数。

② 有规律的业务量波动

        利用弹性伸缩的定时任务,自动定时执行弹性伸缩。

③ 无明显业务量波动

        健康检查模式,确保服务健康。

④ 混合型业务

        综合使用所有弹性策略。

⑤ 消息通知

        伸缩成功、失败、拒绝之后都可以通知信息,支持消息通知(短信、站内信、邮件)和事件通知(发送至云监控事件或者消息服务(MNS主题和MNS队列)

⑥ 生命周期挂钩

        触发弹性伸缩的时候,设置挂钩可以让实例处于挂起中状态,可以有一段自定义操作的时间,支持OOS模板

⑦ 自定义方式

        手动向伸缩组添加或者移除ECS实例。

⑧ 滚的升级

        通过任务形式批量修改ECS实例,可以为伸缩组内处理服务中的实例批量更换镜像,执行脚本、安装OOS软件包。

5、使用限制

        部署在ECS实例上的应用必须是无状态的并且支持横向扩展

        伸缩组内的ECS可能会自动释放,所以不适合保存会话记录、应用数据、日志等信息。这些信息推荐使用独立的状态实例,数据保存到RDS、日志保存到日志服务;

        不支持自动将实例添加到Memcache实例的访问白名单,需要手动添加。

        如果伸缩组关联的RDS、ALB、CLB、SLB实例的后端服务器被删除了,伸缩组自动解雇关联关系。

        如果伸缩组自动触发连续失败30天就不搞了,通知用户。

第三章 主要定义

1、工作原理

2、基础概念

① 伸缩组

        具有相同应用场景,相同实例类型的集合。伸缩组定义了组内可容纳的实例数的最大最小值、关联的负载均衡实例,关联RDS实例等属性。

② 弹性容器实例ECI

        阿里云结合容器和Serverless提供的容器运行服务。

③ 稳定实例

        特指在伸缩组中处于服务中、保护中、备用中状态的ECS实例

④ SLB负载均衡实例

        对流量进行按需分发,流量分发到不同的实例处理,提供系统整体吞吐量。

⑤ 伸缩模式

        对应不同的增加、减少实例的操作,包含:定时模式、动态模式、固定数量模式、自定义模式、健康模式、多模式并行

⑥ 实例配置信息来源

        需要指定伸缩的ECS到底要用什么配置来初始化创建ECS,支持伸缩模板和实例启动模板

⑦ 伸缩配置

        组内实例的配置信息,在创建实例的时候用到。

⑧ 伸缩规则

        步进规则、目标追踪规则、简单规则用于触发伸缩时控制增加或者减少实例的具体数量

        预测规则可以基于历史变更数据智能规定实例的数量边界值;

⑨ 自动触发任务

        分为定时任务、报警任务触发;定时任务可以指定该时间扩缩容,报警任务是根据监控到的异常指标决定是否扩缩容。

3、常见活动

① 伸缩活动

        用于记录伸缩组内实例数、伸缩组边界值、期望实例数等数量变化情况执行伸缩规则、修改边界值、修改期望实例数等操作都会触发伸缩活动

② 期望实例数

        开启期望实例数后,伸缩组会自动将实例的数量维持在期望数,无需人工干预。当然能用的前提是创建伸缩组的时候开启这个功能,开启之后可以修改的

③ 并行伸缩活动

        并且伸缩任务执行的时候可以执行其他并行任务。当以下方式触发伸缩活动就是并行伸缩活动:

        手动执行伸缩规则、定时任务执行伸缩规则;

        手动添加ECS实例,移除ECS实例;

        期望实例数检查任务、实例健康检查任务、最大最小检查任务;

④ 非并行伸缩任务

        具有排他性,不开启期望实例数功能,所有都是非并行伸缩任务

4、伸缩组流程

① 伸缩组流程

        指的是可以手动暂停、恢复的流程,包括:扩容流程、缩容流程、健康检查、定时任务、报警任务等用于更精细的控制伸缩组流程级别的动作。

② 组内实例生命周期

        指ECS在伸缩组内从创建到释放的过程。如果由伸缩组自动创建就由伸缩组管理,手动创建的ECS实例可以托管给伸缩组,也可以不托管自己管理

③ 生命周期挂钩

        伸缩组创建或者释放实例的收,不立即执行,流出一定时间给自定义操作。

④ 冷却时间

        伸缩活动后锁定一定时间不再被云监控触发伸缩活动请求,避免频繁触发。

第四章 使用流程

        必须配置并且启用伸缩组、以及组内实例配置来源。其他组件可以按需配置。

1、创建伸缩组

        使用弹性伸缩管理业务所用的ECS实例时,伸缩组是基本的管理单元。伸缩组用于管理有相同应用场景的ECS实例,并支持关联多个负载均衡实例和RDS实例。伸缩组关联负载均衡实例和RDS实例后,ECS实例加入伸缩组时会自动添加为负载均衡实例的后端服务器,其内网IP会自动加入RDS实例的访问白名单。

2、创建伸缩配置

        伸缩配置是弹性伸缩自动创建ECS实例时所使用的实例模板。一个伸缩组支持创建多个伸缩配置,但同一时间只允许一个伸缩配置处于生效状态。(如果您在创建伸缩组时,选择启动模板或者已有实例作为配置信息来源,则不用手动创建伸缩配置,可以直接启用伸缩组。)

3、启用伸缩组

        首次创建伸缩配置后,会自动提示启用伸缩组。您也可以在伸缩组列表自行启用伸缩组。

4、创建伸缩规则

        伸缩规则用于指定扩缩容ECS实例的数量等信息或者智能地设置伸缩组边界值,您可以根据业务需要创建对应类型的伸缩规则。

5、创建自动伸缩任务

        创建伸缩规则后,您可以通过自动伸缩任务自动执行伸缩规则,实现自动扩缩容。自动伸缩任务支持以下类型:

① 定时任务

        如果您可以预测业务量波动的时间,使用定时任务在指定时间自动扩缩容即可。定时任务支持设置重复周期,满足周期性自动扩缩容的需求。

② 报警任务

        如果您需要基于ECS实例的运行指标自动扩缩容,可以使用报警任务。报警任务基于云监控的监控项动态管理伸缩组内ECS实例。

第五章 伸缩组详解

1、创建伸缩组

        如果弹性伸缩的ECS无法加入RDS或者SLB访问白名单,自动创建的实例回回滚和释放,手动创建的实例则会保留下来

        一个实例只能加入一个伸缩组,并且一定要在同一个地域

2、伸缩组状态

        可以看到API中只有三种:

3、创建伸缩组限制

        同一个地域下,伸缩组的熟练有限制;

        创建的时候需要执行实例数量的边界值,最大最小值,也可以指定期望数。

        如果没有配置期望数,并且最小值大于0并且实际实例数小于最小值就自动扩容一次;如果配置了期望数,并且期望数大于0并且实际实例数不一致,就自动触发扩容一次

4、创建步骤

        登录控制台;

        顶部菜单选择地域;

        左侧导航栏选择伸缩组;

        左上角创建,完成配置后确认;

5、删除伸缩组

① 删除保护

        如果开启删除保护,就不可以通过控制台或者API删除伸缩组了。

② 删除结果

        会同时删除组内的伸缩配置和伸缩规则。

        如果有运行中的实例,会先停止实例,然后移出手动创建的实例,释放所有自动创建的实例

③ 强制删除

        先停止伸缩组,拒绝新的伸缩活动,等待已有的伸缩活动完成,移出手动,释放自动。

④ 非强制删除

        当伸缩组没有任何伸缩活动并且实例为0就可以停止伸缩组,然后删除伸缩组。

6、伸缩组内实例状态

        从加入到移出伸缩组,状态有:加入中 、加入挂起中、服务中、备用中、保护中、移出中、移出挂起中、停用中

7、自动创建ECS实例

        配置全部相同

        如果指定了RDS,系统自动将ECS的IP加入到RDS的访问白名单

        如果指定了负载均衡,系统自动将ECS加入负载均衡的后端服务器中

8、手动创建ECS实例

        实例和伸缩组必须同地域

        没有加入其他伸缩组

        实例必须运行中

        实例和伸缩组的网络类型必须一致

        伸缩组必须启用状态

        伸缩组不存在执行中的伸缩活动

        如果将手动创建的ECS托管生命周期给伸缩组,移除的时候也会释放实例,特殊的是支持将包年包月的实例添加,单不能托管

9、查看伸缩组实例列表

        登录控制台;

        左侧菜单栏点击伸缩组管理;

        选择地域;

        对伸缩组查看详情;

        实例列表页签;

        查看ECS实例;

10、移除或释放实例

        无论自动或者手动创建的实例,都可以转为备用状态、转入转出保护状态。

        如果是自动创建的实例,并且被检测出不健康了,会自动释放实例,并且另起一个健康实例替换

        如果是手动创建的时候,被检测没有运行中就会被判定不健康,自动移除伸缩组,是否释放根据是否生命周期托管决定,托管了就释放,没托管就只是移除而不释放

11、转为备用状态

       如果配置了负载均衡,备用状态后负载均衡的权重归0

        一直保持备用直到移出

        不再自动管理备用的实例的生命周期,手动维护;

        伸缩活动的时候,不会移出备用的实例

        备用的时候停止或者重启,不会更新健康检查状态

        需要先移出备用状态ECS才能释放;

        如果伸缩组删除了,备用实例会被移出并且自动解除备用状态

12、转出备用状态

        实例恢复服务;

        如果有负载均衡实例,实例会重新加入负载均衡,权重默认50

        ECS实例停止或者重启,会更新健康检查状态;

        如果发生伸缩活动,实例可以正常被移除;

13、转为保护状态

        如果配置了负载均衡实例,不会影响实例的权重

        一直保持状态直到被移出保护状态;

        伸缩活动不会移出保护状态的实例,需要手动移出才能释放;

        实例停止或者重启,不会更新健康检查状态;

14、转为停用状态

        不再提供服务,部分资源不再收费;只有EIP和云盘还要继续收费

15、手动移出或删除实例

        伸缩组启用状态,并且不存在执行中的伸缩活动,就可以移出或者删除实例

        手动操作可以绕过冷却时间直接执行

        如果删除后实例数小于边界最小值,会失败

16、自动移除策略

        支持两段设置先筛选再从结果中移出,不支持两段设置相同的选项,如果筛选后还有多个实例则随机选择

① 筛选最早伸缩配置对应的实例

        但是不会先把手动的选出来,只有移除不够数的时候才用手动的实例

② 筛选最早创建的实例

③ 筛选最新创建的实例

④ 无策略

        表示不进行第二段筛选。

第五章 伸缩配置详解

1、创建前提

        必须先创建伸缩组,如果要使用智能配置,网络类型必须是VPC。

        必须创建安全组。

2、创建步骤

        控制台-伸缩组管理-选择地域;

        选择伸缩组,打开详情;

        点击 实例配置来源 页签;

        创建伸缩组配置;

        完成基础:付费模式(按量,抢占)、配置方式(规格、智能)、镜像(公共、自定义、公共、社区)、存储、公网IP、安全组、IPv6;

        完成系统配置:标签、资源组、登录凭证(不支持创建时设置密码,SSH密钥对可以)、实例名称、主机名、RAM角色(仅VPC)、自定义数据(仅VPC)、私有池容量、专有宿主机:

        填写伸缩配置名称;

        启用配置;

3、伸缩配置状态

        Active:生效状态

        Inactive:失效状态

        Deleting:删除中

第六章 伸缩规则详解

1、规则类型

① 普通规则

        用于触发伸缩活动,增加或者减少指定数量的实例,或者将实例调整到指定数量;如果是报警任务触发的则需要等到冷却完成之后才能生效了。

② 步进规则

        基于云监控告警和分段扩缩容,通过一组策略更加精细的控制扩缩容。

③ 预测规则

        智能设置伸缩组边界,通过分析至少24小时的活动,通过机器学习预测未来48小时的监控指标

④ 目标追踪规则

        选择一个云监控指标,指定目标值。伸缩组根据目标指标自动创建报警任务,删除规则后伸缩组会同步删除自动生成的报警任务

第七章 伸缩模式详解

1、模式类型

① 固定数量模式

        由伸缩组的最大、最小实例数,或者期望实例数。

② 健康模式

        需要开始实例中的健康检查配置。

③ 定时模式

        由定时任务决定、多个定时任务时执行最早触发的一个。

④ 动态模式

        伸缩效果由报警任务决定。

⑤ 自定义模式

        需要手动添加、移出、删除实例,或者手动触发伸缩规则。

⑥ 多模式并行

        多种模式一起生效,配置也要全部都有。

2、健康模式说明

        开启健康模式后,伸缩组会定时检查实例的运行状态,如果发现一台实例位处于运行中,判定实例不健康并移出,创建新的实例加入伸缩组。

3、定时模式说明

        是一种预设任务,可以指定时间执行伸缩规则。

        如果没有设置重复周期,那么只会执行一次。

        伸缩方式可以选择已有的伸缩规则,也可以直接设置实例的最大最小值或者期望数。

        重试过期时间:为了避免定时任务执行失败,在设置的重启过期时间内会重试定时任务。

        可以在控制台操作修改或者删除定时任务、启用停用定时任务。

4、动态模式说明

        适用于没有规律的波动需求。

        需要利用云监控服务CMS,监控特定的指标,对数据指标进行实时统计,当统计值满足指定的报警条件时,触发报警任务并指定伸缩活动

        报警任务分为两类:系统监控报警和自定义报警任务。

        如果有其他非并行的伸缩活动时,报警任务触发的伸缩活动就不生效

        冷却时间内不生效。

        报警任务默认沉默时间是一分钟,一分钟内不会重复触发报警任务伸缩。

① 系统监控报警任务

        伸缩组会给组内所有实例都安装云监控客户端,GPU监控需要单独安装GPU驱动程序。

② 自定义监控报警任务

        需要主动将特定业务的监控指标上报给云监控。

③ 报警任务支持监控项

        CPU使用率、内存、系统平均负载、内外网出入流量、TCP总连接数和已建立数、系统盘读写BPS和IOPS、内网网卡收包和发包数,GPU使用率、GPU内存空闲率和使用率

第八章 伸缩活动

1、弹性扩容

2、弹性缩容

3、伸缩活动特点

        无法强行终止

        ECS实例级别的事务完整性

        有冷却时间

        可进行实例生命周期托管;

        可进行实例释放保护;

        同一个伸缩组内,统一时间只能有一个伸缩活动

4、伸缩活动自动创建ECS实例

        判断伸缩组的健康状态和边界条件;

        分配伸缩活动ID并执行活动;

        创建ECS实例;

        修改伸缩组的实例数;

        为ECS分配IP;

        将实例添加到RDS白名单;

        启动ECS实例;

        将实例添加到SLB的后端服务器组,权重就是配置的权重。

        伸缩活动完成,启动冷却。

5、伸缩活动自动移出实例

        判断申诉组健康状态;

        分配伸缩活动ID并执行活动;

        从SLB后端服务器组移出实例;

        停止实例;

        从RDS白名单移出实例;

        释放实例;

        修改伸缩组数量;

        活动完成,启动冷却。

6、手动添加实例到伸缩组

        判断伸缩组的健康状态、边界条件和实例的状态以及类型;

        分配伸缩ID并执行伸缩活动;

        将实例添加到伸缩组;

        修改伸缩组实例数;

        添加到RDS白名单;

        将实例添加到SLB的后端服务器组;

        伸缩完成,启动冷却。

7、手动移出伸缩组实例

        判断申诉组健康状态;

        分配伸缩活动ID并执行活动;

        停止SLB向实例转发流量;

        等待60S从SLB后端服务器组移出实例;

        从RDS白名单移出实例;

        修改伸缩组数量;

        移出实例;

        活动完成,启动冷却。

8、并行/非并行伸缩活动

        已设置期望实例数的伸缩组可以执行并行伸缩活动、但是不支持同时有并行和非并行伸缩活动

        未设置期望数的伸缩组不可以执行并行伸缩组。

① 并行伸缩活动

        存在执行中的并行伸缩活动时,可以执行其他并行伸缩活动。包括通过以下方式触发的伸缩活动:

  • 手动执行伸缩规则、通过定时任务执行伸缩规则。

  • 手动添加实例、手动移出实例。

  • 系统自动进行的期望实例数检查任务、实例健康检查任务、最大最小值检查任务。

② 非并行伸缩活动

        存在执行中的非并行伸缩活动时,不能执行其他伸缩活动。并行伸缩活动以外的伸缩活动均属于非并行伸缩活动。包括但不限于通过以下方式触发的伸缩活动:

  • 系统通过报警任务自动执行伸缩规则。

  • 手动在实例列表页签中执行再均衡分布。

  • 系统自动执行抢占式实例补偿任务。

9、冷却时间

        多台实例加入或者移出伸缩组,以最后一台实例为基准计算冷却时间。

        如果是停用后的再启用伸缩组,首次伸缩活动可以立即执行,不需要CD。

        非报警任务触发的伸缩活动不需要CD。

第九章 自动化运维

        通过生命周期挂钩和OOS模板实现自动化运维。

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

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

相关文章

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…

3.3.1_1 检错编码(奇偶校验码)

从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…