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

数据库主从延迟全解析:原因、影响与解决之道

目录

一、引言:理解数据库主从架构

二、数据库主从延迟的定义与测量

2.1 主从延迟的技术定义

2.2 如何测量主从延迟

2.3 主从延迟对系统的影响

三、主从延迟的常见原因分析

3.1 网络延迟因素

3.1.1 网络质量与带宽限制

3.1.2 地理位置分布造成的延迟

3.2 从节点性能问题

3.2.1 硬件资源限制

3.2.2 从节点负载过高

3.3 复制线程不足

3.3.1 单线程复制的局限性

3.3.2 复制线程与数据量不匹配

3.4 其他潜在因素

3.4.1 大事务执行

3.4.2 数据库设计不合理

3.4.3 主节点写入压力过大

四、主从延迟的解决方案

4.1 网络优化策略

4.1.1 同城或同单元部署

4.1.2 网络连接质量提升

4.1.3 专用复制网络通道

4.2 从服务器性能提升

4.2.1 硬件资源扩容方案

4.2.2 服务器负载均衡

4.2.3 I/O优化

4.3 复制机制优化

4.3.1 MySQL并行复制实现

4.3.2 复制线程数调整

4.3.3 基于组提交的并行复制

4.4 架构与应用层面的优化

4.4.1 读写分离策略

4.4.2 复制过滤器的使用

4.4.3 应用层设计考量

五、监控与维护最佳实践

5.1 延迟监控工具与指标

5.2 预警机制建立

5.3 定期维护计划

六、结论与前瞻

6.1 主从延迟管理的重要性总结

6.2 未来数据库复制技术发展趋势

6.3 推荐实践方案

思考与实践


 

导读:在高并发互联网应用环境中,数据库主从架构已成为标配,但主从延迟问题却常常困扰着开发与运维人员。当主节点上的数据变更需要时间才能同步到从节点时,这种时间差便产生了主从延迟,可能引发数据不一致、业务逻辑错误甚至灾难恢复风险。本文深入剖析了主从延迟的技术本质,从网络质量、硬件资源、复制线程到大事务执行等多维度探讨了延迟成因。您是否好奇为什么配置了并行复制后延迟仍然存在?或者如何精确测量和监控这种延迟?文章不仅提供了从网络优化、硬件提升到复制机制调优的系统解决方案,还分享了监控预警的最佳实践,帮助您构建一个高效、可靠的数据库复制体系。

一、引言:理解数据库主从架构

        在当今高并发、高可用的互联网应用环境中,单一数据库服务器往往无法满足系统需求。数据库主从复制(Master-Slave Replication)架构应运而生,成为现代数据库系统的基石之一。这种架构将数据库服务器分为主节点(Master)和从节点(Slave),主节点负责处理写操作,而从节点则接收主节点的数据变更并进行同步,主要用于分担读请求压力。

        然而,在实际生产环境中,主从架构并非完美无缺。其中,主从延迟问题是运维人员和开发者经常面临的挑战,它可能导致数据不一致、查询结果异常等一系列问题,影响系统的稳定性和可靠性。

        本文将深入探讨数据库主从延迟的本质、成因、影响及解决方案,帮助读者全面理解并有效应对这一常见问题。

二、数据库主从延迟的定义与测量

2.1 主从延迟的技术定义

        主从延迟(Replication Lag)指的是从服务器(Slave)上的数据与主服务器(Master)上的数据之间存在的时间差或延迟。具体来说,当主服务器上发生数据变更时,这些变更需要一定的时间才能完全应用到从服务器上,这个时间差就是主从延迟。

        在理想情况下,主从延迟应当接近于零,即主从数据几乎实时同步。但在实际生产环境中,由于各种因素的影响,一定程度的延迟几乎不可避免。

2.2 如何测量主从延迟

在MySQL数据库中,我们可以通过多种方式测量主从延迟:

1)Seconds_Behind_Master参数:通过在从节点执行SHOW SLAVE STATUS命令,查看Seconds_Behind_Master字段值,该值表示从节点复制线程与主节点当前状态之间的时间差,单位为秒。

SHOW SLAVE STATUS

2)Heartbeat表方案:通过在主库定期更新一个时间戳,从库读取该时间戳并与当前时间比较,计算出延迟时间。

3)基于GTID的监控:对于使用GTID(全局事务标识符)的MySQL实例,可以比较主从节点的GTID集合差异来评估延迟情况。

2.3 主从延迟对系统的影响

主从延迟会对系统产生多方面的影响:

  • 数据一致性问题:用户可能在主库写入数据后,立即在从库查询,却发现数据尚未同步,导致用户体验不佳。
  • 业务逻辑错误:依赖于实时数据的业务逻辑可能因延迟而出现异常行为。
  • 灾难恢复风险:当主节点发生故障需要切换到从节点时,较大的延迟可能导致数据丢失。
  • 系统吞吐量下降:过大的延迟可能导致复制队列积压,进一步加剧系统负担。

三、主从延迟的常见原因分析

3.1 网络延迟因素

3.1.1 网络质量与带宽限制

        网络质量直接影响主从节点间的数据传输效率。不稳定的网络连接、高延迟或带宽瓶颈都可能导致复制数据传输缓慢,从而产生延迟。在高并发场景下,有限的网络带宽尤其容易成为复制性能的瓶颈。

3.1.2 地理位置分布造成的延迟

        当主从节点位于不同地理位置,特别是跨国或跨洲部署时,物理距离导致的网络延迟不可避免。例如,主节点在北美而从节点在亚洲,光纤信号传输的物理延迟就可能达到几百毫秒,这在大量事务复制的场景下会累积成明显的延迟。

3.2 从节点性能问题

3.2.1 硬件资源限制

        从节点的硬件资源(CPU、内存、磁盘I/O)如果不足以处理接收到的复制事件,将导致复制延迟。特别是在以下情况下:

  • CPU瓶颈:当从节点需要处理大量的事务时,CPU成为限制因素。
  • 内存不足:缓冲区太小,导致频繁的磁盘I/O操作。
  • 磁盘I/O瓶颈:写入速度跟不上复制数据的生成速度。
3.2.2 从节点负载过高

        从节点除了处理复制任务外,通常还需要承担读查询的压力。如果从节点的查询负载过高,可能会挤占复制所需的资源,导致复制过程变慢,产生延迟。

3.3 复制线程不足

3.3.1 单线程复制的局限性

        在MySQL 5.6之前的版本中,从节点使用单线程进行复制,这意味着所有事务必须按顺序一个接一个地应用,这种设计在处理高并发写入时显然会成为瓶颈。虽然主节点可以并行执行多个事务,但从节点只能串行回放,导致延迟累积。

3.3.2 复制线程与数据量不匹配

        即使在支持多线程复制的MySQL版本中,如果配置的复制线程数量不足以处理实际的数据变更量,也会导致延迟。例如,配置了4个复制线程,但实际需要8个线程才能及时处理所有变更。

3.4 其他潜在因素

3.4.1 大事务执行

        大型事务(如批量插入、更新操作)会占用较长的执行时间,并在主从复制中产生显著延迟。由于MySQL的复制是基于事务的,一个事务必须完全应用后才能开始下一个,因此大事务会阻塞后续事务的执行。

3.4.2 数据库设计不合理

某些数据库设计问题也可能导致复制延迟:

  • 缺少适当的索引,导致查询和更新操作效率低下
  • 过度使用触发器或存储过程,增加复制的复杂性
  • 表结构不合理,如过多的列或不必要的外键约束
3.4.3 主节点写入压力过大

        当主节点承受极高的写入压力时,生成的二进制日志(binlog)数量可能超过从节点的处理能力,导致复制队列持续增长,引发延迟。

四、主从延迟的解决方案

4.1 网络优化策略

4.1.1 同城或同单元部署

        将主从节点部署在同一数据中心或地理位置接近的区域,可以显著减少网络传输延迟。在条件允许的情况下,最理想的部署方式是将主从节点置于同一机房的不同机架上,既保证了物理隔离的高可用性,又最大限度地降低了网络延迟。

4.1.2 网络连接质量提升

提升网络连接质量的措施包括:

  • 使用高质量的网络设备和线路
  • 优化网络配置参数,如TCP窗口大小
  • 实施网络QoS(服务质量)策略,为复制流量提供优先级
4.1.3 专用复制网络通道

        为数据库复制traffic配置独立的网络接口和通道,与普通应用流量分离,避免网络资源竞争导致的复制延迟。

4.2 从服务器性能提升

4.2.1 硬件资源扩容方案
  • 提升CPU配置:增加CPU核心数或使用更高性能的处理器
  • 扩大内存容量:确保关键数据集能够缓存在内存中,减少磁盘I/O
  • 采用高性能储存设备:使用SSD或企业级NVMe存储,提高I/O性能
4.2.2 服务器负载均衡

        通过添加更多的从节点,形成读负载均衡集群,分散单个从节点的查询压力,使其有更多资源用于处理复制事件。

4.2.3 I/O优化
  • 优化文件系统参数
  • 调整InnoDB相关参数,如innodb_flush_log_at_trx_commitinnodb_flush_method
  • 使用适当的RAID配置平衡性能与安全性

4.3 复制机制优化

4.3.1 MySQL并行复制实现

从MySQL 5.6开始引入了并行复制功能,后续版本不断改进:

  • MySQL 5.6:基于库的并行复制
  • MySQL 5.7:基于组提交的并行复制
  • MySQL 8.0:进一步优化的逻辑时钟并行复制

通过配置slave_parallel_workers参数,可以指定用于并行应用复制事件的线程数:

SET GLOBAL slave_parallel_workers = 8;
4.3.2 复制线程数调整

根据服务器硬件资源和实际工作负载,调整适当的复制线程数:

  • 对于CPU核心数较多的服务器,可以适当增加复制线程数
  • 通常建议将复制线程数设置为CPU核心数的1/2到2/3
  • 需要通过实际测试找到最佳平衡点
4.3.3 基于组提交的并行复制

MySQL 5.7引入的基于组提交(LOGICAL_CLOCK)的并行复制机制,可以实现在同一组内的事务并行应用,提高复制效率:

SET GLOBAL slave_parallel_type = 'LOGICAL_CLOCK';

4.4 架构与应用层面的优化

4.4.1 读写分离策略

实施智能的读写分离策略,关键考量点包括:

  • 对于强一致性要求的查询,路由到主库或延迟较小的从库
  • 实现动态路由机制,根据从库的实时延迟状态选择合适的节点
  • 使用中间件如ProxySQL或MyCat实现复杂的路由规则
4.4.2 复制过滤器的使用

通过配置复制过滤器,只复制必要的数据库或表,减轻复制负担:

CHANGE REPLICATION FILTER REPLICATE_DO_DB = (db1, db2), REPLICATE_IGNORE_DB = (test, information_schema);
4.4.3 应用层设计考量
  • 减少大事务:将大批量操作拆分为多个小事务,避免复制瓶颈
  • 合理安排写操作时间:将大量写操作安排在系统低峰期执行
  • 实现延迟感知:应用程序具备检测主从延迟并相应调整的能力

五、监控与维护最佳实践

5.1 延迟监控工具与指标

建立全面的监控体系,关注以下关键指标:

  • Seconds_Behind_Master值的变化趋势
  • 复制线程状态(Slave_IO_RunningSlave_SQL_Running
  • 主从节点的资源使用情况(CPU、内存、I/O)
  • 复制队列大小和增长速率

可以使用的监控工具包括:

  • Prometheus + Grafana
  • Percona Monitoring and Management (PMM)
  • MySQL Enterprise Monitor
  • Zabbix等开源监控系统

5.2 预警机制建立

设置多级预警阈值,及时发现并解决延迟问题:

  • 轻度警告:延迟超过10秒
  • 中度警告:延迟超过30秒
  • 严重警告:延迟超过5分钟
  • 紧急警告:延迟超过30分钟或持续增长

预警通知可通过邮件、短信、IM等多种渠道发送给相关负责人。

5.3 定期维护计划

制定定期维护计划,包括:

  • 定期检查和优化主从配置
  • 分析慢查询日志,优化可能影响复制的SQL
  • 评估和更新硬件资源,确保满足增长需求
  • 进行主从切换演练,确保高可用机制正常工作

六、结论与前瞻

6.1 主从延迟管理的重要性总结

        数据库主从延迟管理是确保分布式数据库系统稳定性和可靠性的关键环节。通过深入理解延迟成因,采取针对性的优化措施,并建立有效的监控预警机制,可以将延迟控制在可接受范围内,满足业务需求。

6.2 未来数据库复制技术发展趋势

数据库复制技术正在不断演进,未来发展趋势包括:

  • 基于GTID的增强型复制:提供更可靠的复制拓扑和故障恢复能力
  • 多源复制:一个从节点可以同时从多个主节点复制数据
  • 无损复制:通过创新架构设计,实现近乎零延迟的数据复制
  • 云原生复制解决方案:针对云环境优化的复制机制

6.3 推荐实践方案

根据不同规模和场景,推荐以下实践方案:

  • 小型系统:主从节点同机房部署,适当配置并行复制,定期监控延迟
  • 中型系统:实施读写分离,配置专用复制网络,使用高性能存储,建立完善的监控体系
  • 大型系统:采用分库分表+复合复制拓扑,实现多级复制与数据分片,考虑使用专业数据库中间件

思考与实践

  1. 您的系统中是否出现过主从延迟问题?原因是什么?如何解决的?
  2. 在您的业务场景中,能够容忍的最大延迟是多少?如何在应用层面应对延迟问题?
  3. 尝试设计一个监控主从延迟的脚本,并在延迟超过阈值时自动执行优化操作。

相关文章:

数据库主从延迟全解析:原因、影响与解决之道

目录 一、引言:理解数据库主从架构 二、数据库主从延迟的定义与测量 2.1 主从延迟的技术定义 2.2 如何测量主从延迟 2.3 主从延迟对系统的影响 三、主从延迟的常见原因分析 3.1 网络延迟因素 3.1.1 网络质量与带宽限制 3.1.2 地理位置分布造成的延迟 3.2 …...

BERT、T5、ViT 和 GPT-3 架构概述及代表性应用

BERT、T5、ViT 和 GPT-3 架构概述 1. BERT(Bidirectional Encoder Representations from Transformers) 架构特点 基于 Transformer 编码器:BERT 使用多层双向 Transformer 编码器,能够同时捕捉输入序列中每个词的左右上下文信息…...

第十七天 - Jenkins API集成 - 流水线自动化 - 练习:CI/CD流程优化

前言 在DevOps实践中,持续集成与持续交付(CI/CD)是现代软件工程的核心支柱。作为业界使用最广泛的自动化服务器,Jenkins凭借其强大的插件生态和灵活的流水线配置能力,成为企业级CI/CD落地的首选工具。本文将深入解析J…...

SageAttention2

“SageAttention2: Efficient Attention with Thorough Outlier Smoothing and Per-thread INT4 Quantization”由Jintao Zhang等人撰写。文章提出SageAttention2,通过线程级INT4量化、Q矩阵平滑、两级累加策略等技术,在提升注意力计算效率的同时保持精度…...

.NET WPF 可视化树(Visual Tree)

.NET WPF 可视化树(Visual Tree) WPF 的可视化树(Visual Tree)是描述用户界面元素层级关系的核心概念之一,它与逻辑树(Logical Tree)共同构成了 WPF 的 UI 架构。以下是关于 WPF 可视化树的详细…...

磁盘存储下红黑树、B 树与 B + 树的原理、操作及对比

前置知识 磁盘 在计算机系统中,数据存储与检索效率深刻影响着整体性能。磁盘作为大容量数据的主要载体,其独特的 I/O 特性与树状数据结构的结合,催生出 B 树与 B 树这两种经典方案。了解它们如何适配磁盘存储,是揭开数据库、文…...

kubernetes》》k8s》》Volume 数据卷 PVC PV NFS

为啥需要数据卷 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重…...

支持多格式且免费的图片转换工具推荐

软件介绍 今天要给大家推荐一款超好用的开源图片格式转换工具。这款工具完全免费,没有广告的干扰,让用户在使用过程中极为舒心。 ImageConverter图片格式转换 这款工具使用起来相当便捷,无需进行安装操作,只要轻轻双击图标&…...

DAPP实战篇:使用web3.js实现前端输入钱包地址查询该地址的USDT余额—操作篇

专栏:区块链入门到放弃查看目录-CSDN博客文章浏览阅读396次。为了方便查看将本专栏的所有内容列出目录,按照顺序查看即可。后续也会在此规划一下后续内容,因此如果遇到不能点击的,代表还没有更新。声明:文中所出观点大多数源于笔者多年开发经验所总结,如果你想要知道区块…...

K8S-证书更新时-误删除组件-

K8S 证书更新时-吴删除组件 [rootmaster ~] eth0 172.17.64.32 # docker rm -f docker ps | grep -E apiserver|scheduler|controller-manager| awk {print$1} 7856f2a3068e 2e1a6956d8a1 e9e3cb7870a9 31b19f4e2b22 c028146f88a5 abe4207808a3 [rootmaster ~] eth0 172.17.…...

第二章 Python爬虫篇—数据解析与提取

目录 一.数据解析概述 二.re解析和正则表达式 三.bs4解析-HTML语法 四.Xpath解析 此章节主要讲解:数据解析概述、re模块、bs4解析-html语法、xpath解析以及正则表达式。其中正则表达式我已经写过相关笔记,这里浅略叙述,如果不懂请看我笔记…...

数据仓库标准库模型架构相关概念浅讲

数据仓库与模型体系及相关概念 数据仓库与数据库的区别可参考:数据库与数据仓库的区别及关系_数据仓库和数据库-CSDN博客 总之,数据库是为捕获数据而设计,数据仓库是为分析数据而设计 数据仓库集成工具 在一些大厂中,其会有自…...

【区块链+ 人才服务】特范云区块链教学管理平台 | FISCO BCOS 应用案例

北京特范云科技有限公司利用大数据与人工智能等核心技术优势, 构建了“学、练、赛、评”一体化智慧体育课堂,促进教育技术、体育科学、IT 技术与体育教学的深度融合。公司首次提出了“体育动作积木”的教学概念, 通过区块链技术将学生的体测体…...

第一节:React 基础篇-React虚拟DOM原理及Diff算法优化策略

必考点:虚拟DOM树对比(同级比较、Key的作用、组件类型判断) 延伸:React 18中并发更新对Diff算法的影响 React虚拟DOM原理及Diff算法优化策略 虚拟DOM核心原理 概念: • 虚拟DOM(Virtual DOM)…...

MQTT的构成、使用场景、工作原理介绍

一、MQTT内容简介 MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议【适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境】它在物联网应用中广受欢迎,能够实现传感器、执行器和其它设备之间的…...

idea光标变成白色方块的解决方法

在使用 IDEA 进行编程时,你可能会遇到这样一个情况:原本纤细的光标突然变成了白色粗块,这不仅影响视觉体验,还可能在输入时带来困扰。别担心,本文将为你详细剖析该问题出现的原因,并提供有效的解决办法。​…...

python manimgl数学动画演示_微积分_线性代数原理_ubuntu安装问题[已解决]

1.背景 最近调研python opencv, cuda加速矩阵/向量运算, 对于矩阵的线性变换, 秩, 转秩, 行列式变化等概概念模糊不清. 大概课本依旧是天书, 于是上B站搜索线性代数, 看到 3Blue1Brown 线性变换本质 视频, 点击观看. 惊为天人 --> 豁然开朗 --> 突然顿悟 --> 开心不已…...

如何为C++实习做准备?

博主介绍:程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇&#x1…...

Linux 安装 vscode

使用包管理器安装(推荐) 对于基于 Debian 的系统(如 Ubuntu): sudo apt update sudo apt install software-properties-common apt-transport-https wget -qO- https://packages.microsoft.com/keys/microsoft.asc …...

淘宝商品数据实时抓取 API 开发指南:从接口申请到数据解析实战

一、引言​ 在当今电商蓬勃发展的时代,淘宝作为国内电商巨头,其平台上汇聚了海量商品信息。对于电商从业者、数据分析爱好者以及众多依赖淘宝商品数据开展业务的企业而言,能够实时获取淘宝商品数据具有极高价值。例如,电商运营者…...

明远智睿SSD2351核心板在物联网领域的应用实践

物联网作为当今科技发展的热门领域,将无数设备连接在一起,实现数据的采集、传输与共享,构建起一个智能化的世界。在这庞大的物联网体系中,核心板扮演着至关重要的角色,明远智睿SSD2351核心板以其独特优势,在…...

这种情况是应为VScode的版本太新了,更新到1.86版本后要求远程连接服务器的内核版本不符合条件

这种情况是应为VScode的版本太新了,更新到1.86版本后要求远程连接服务器的内核版本不符合条件 解决方法 vscode降级,使用1.86以前的版本。亲测这种方法成功解决 首先关闭VSCode自动更新 Windows下载1.85版本链接:https://update.code.visua…...

996引擎-源码学习:PureMVC Lua 中的 Facade 类

996引擎-源码学习:PureMVC Lua 中的 Facade 类 1. 核心概念1.1 外观模式1.2 多例模式2. 关键组件NotificationController:ModelView3. 主要功能4. 初始化流程5. 通信机制6. 生命周期管理1. Facade 初始化流程图2. 发送通知时序图中介者 PlayerBestRingLayerMediatorOpenLayer …...

前端学习10—Ajax

1 AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML 通过 AJAX 可以在浏览器中向服务器发送异步请求,最大优势为:无刷新获取数据 AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方…...

python的多线程和多进程程序编程

CPU密集型使用多进程,IO密集型使用多线程 查看进程ID和线程ID的命令分别是os.getpid()和threading.current_thread() 多进程使用multiprocessing就可以了,通常使用进程池来完成操作,阻塞主进程使用join方法 多线程使用threading模块&#…...

Python代码解释

文章目录 代码解析执行过程等价写法其他类似操作 这段代码使用了 Python 的 map() 函数和 lambda 表达式来对列表中的每个元素进行平方运算。让我详细解释一下: 代码解析 numbers [1, 2, 3, 4] squared list(map(lambda x: x**2, numbers))numbers [1, 2, 3, …...

DNS正反向解析复习,DNS主从服务,转发服务及DNS和nginx联合案例(不断更新)

正向解析 1、配置主机名 [rootlocalhost ~]# dnf install bash-completion -y #一个按tap键补全的软件 [rootlocalhost ~]# hostnamectl hostname dns #改主机名为dns [rootlocalhost ~]# exit ssh root你的IP地址 要重启才会生效2、安装bind [rootdns ~]# dnf install b…...

甜心速达智慧潮流精选超市、即时零售新业态,打造可持续发展商业模式

四川甜心速达科技有限公司、现公司运营高管团队均为美团高级运营师,公司高管团队人均获得“全国工商联人才交流服务中心”创业指导师、市场营销师等、公司致力于优化线上店铺人效比和资源匹配等问题,已经实现了对即时零售行业的资源整合,并融…...

大白话聊MySQL覆盖索引

目录 一、什么是覆盖索引?二、使用了覆盖索引 vs 没使用覆盖索引的区别三、例子说明四、总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,可以多多支持一下,感谢🤗! …...

C++ inline和define(宏)

文章目录 Inline 函数是什么意思?C中哪些函数不能声明为inline?内联(inline)函数和 #define(宏) Inline 函数是什么意思? inline是内联的意思,可以定义比较小的函数。因为函数频繁调用会占用很多的栈空间&#xff0c…...

Python中的eval()函数详解

文章目录 Python中的eval()函数详解基本语法基本用法安全性问题安全使用建议实际应用场景与exec()的区别性能考虑总结 Python中的eval()函数详解 eval()是Python的一个内置函数,用于执行字符串形式的Python表达式并返回结果。它是一个强大但需要谨慎使用的函数。 …...

rancher 解决拉取dashboard-shell镜像失败的问题

问题背景 在 Kubernetes 集群中部署 Rancher 后,点击右上角的 "Shell" 按钮时,Rancher 会动态创建一个 dashboard-shell-xxxxx Pod,用于提供 Web 终端功能。然而,由于默认镜像 rancher/shell:v0.1.21 托管在 Docker Hu…...

在Ubuntu服务器上安装Docker(支持Ubuntu 20.04/22.04等版本):

1. 卸载旧版本(如有) 如果系统曾安装过旧版Docker,先清理残留: sudo apt remove docker docker-engine docker.io containerd runc2. 添加Docker官方仓库 安装依赖工具 sudo apt update sudo apt install -y ca-certificates …...

【Linux 进程控制】—— 进程亦生生不息:起于鸿蒙,守若空谷,归于太虚

欢迎来到一整颗红豆的博客✨,一个关于探索技术的角落,记录学习的点滴📖,分享实用的技巧🛠️,偶尔还有一些奇思妙想💡 本文由一整颗红豆原创✍️,感谢支持❤️!请尊重原创…...

K8s常用基础管理命令(一)

基础管理命令 基础命令kubectl get命令kubectl create命令kubectl apply命令kubectl delete命令kubectl describe命令kubectl explain命令kubectl run命令kubectl cp命令kubectl edit命令kubectl logs命令kubectl exec命令kubectl port-forward命令kubectl patch命令 集群管理命…...

WebChat 一款非常好用的浏览器侧边栏 AI 问答插件

文章目录 使用方法及效果展示划线引用自定义工具自定义模型设置 主要功能1. 划线引用功能2. 自定义划线工具3. 聊天功能4. 历史记录管理5. 界面特性 安装方法方法一:直接安装发布版本(推荐)方法二:从源码构建安装(开发…...

kubernetes入门篇之创建一个nginx容器

上几篇讲了部署master和worker node 及网络插件calico, 现在开始实际运行一个容器。 1. 新建nginx.yaml文件 方式1:直接创建一个pod 和一个 service,一般不直接这样创建,该方式仅适用于测试或学习 apiVersion: v1 kind: Pod …...

回顾 | 2025香港Web3嘉年华:CertiK以创新技术定义安全未来

4月6日至9日,Web3安全巨头CertiK亮相2025香港Web3嘉年华。活动期间,CertiK不仅设立独立展位与广大Web3生态参与者深入互动,更通过高层次的技术交流与前沿研究成果展示,成为本届盛会备受瞩目的焦点。 耶鲁大学计算机科学系教授、C…...

HTML5的笔记

文章目录 1.HTML的概念1.1HTML的基本骨架 2.标签语法2.1标签的关系 3.标签3.1双标签3.1.1标题标签<h1~h6>3.1.2段落标签<p>3.1.3文本格式化标签3.1.4超链接标签<a>3.1.5音频和视频标签audio和<vedio>3.1.6列表标签3.1.7表格标签 3.2单标签3.2.1换行标签…...

LeetCode.2843. 统计对称整数的数目

统计对称整数的数目 题目解题思路思路1.v1Code 思路优化1.v2Code 思路优化1.v3Code复杂度分析 题目 2843. 统计对称整数的数目 给你两个正整数 low 和 high 。 对于一个由 2 * n 位数字组成的整数 x &#xff0c;如果其前 n 位数字之和与后 n 位数字之和相等&#xff0c;则认…...

Java常用工具算法-6--秘钥托管云服务3--微软zure Key Vault

Azure Key Vault是微软Azure提供的一项服务&#xff0c;旨在帮助用户安全地存储和管理敏感信息&#xff0c;如加密密钥、证书和密码等。它提供了一个集中的位置来保护这些重要资产&#xff0c;并且通过细粒度的访问控制和审计日志来确保安全性。 1、主要功能 &#xff08;1&a…...

表格开启聚光灯,查看数据不错行-Excel易用宝

面对如此庞大的一个表格&#xff0c;每次找数据就像走迷宫一样&#xff0c;有时看到了数据&#xff0c;眼神不好的小丽小手一抖还会选择到其他数据上&#xff0c;我问她个数据&#xff0c;她经常给我报个错的数据&#xff0c;我说怎么数据总是对不上号。 对于大表格防看错行这…...

解决java使用easyexcel填充模版后,高度不一致问题

自定义工具&#xff0c;可以通过获取上一行行高设置后面所以行的高度 package org.springblade.modules.api.utils;import com.alibaba.excel.write.handler.RowWriteHandler; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.wr…...

【25软考网工笔记】第二章 数据通信基础(1)信道特性 奈奎斯特 香农定理

一、信道特性 1. 数据通信概念 1&#xff09;通信系统的基本元素 通信目的: 传递信息。 信源: 产生和发送信息的一端&#xff0c;即信息发送的源头。 信宿: 接收信息的一端&#xff0c;即信息的目的地。 信道: 信源和信宿之间的通信线路&#xff0c;用于传输信息。 信号变换:…...

2024年React最新高频面试题及核心考点解析,涵盖基础、进阶和新特性,助你高效备战

以下是2024年React最新高频面试题及核心考点解析&#xff0c;涵盖基础、进阶和新特性&#xff0c;助你高效备战&#xff1a; 一、基础篇 React虚拟DOM原理及Diff算法优化策略 • 必考点&#xff1a;虚拟DOM树对比&#xff08;同级比较、Key的作用、组件类型判断&#xff09; …...

【Code】《代码整洁之道》笔记-Chapter11-系统

第11章 系统 “复杂要人命。它消磨开发者的生命&#xff0c;让产品难以规划、构建和测试。” 11.1 如何建造一个城市 你能自己掌管一切细节吗&#xff1f;大概不行。即便是管理一个既存的城市&#xff0c;也是靠单人能力无法做到的。不过&#xff0c;城市还是在运转&#…...

MySQL数据库编程总结

MySQL数据库编程总结 一、数据库概述 数据库定义 • 数据库是管理数据的软件系统&#xff0c;用于高效存储、管理和检索数据&#xff0c;减少冗余。 • 核心功能&#xff1a;通过SQL语言定义、操作数据&#xff0c;维护完整性和安全性。 常见数据库 • MySQL、Oracle、SQL Ser…...

MySQL学习笔记7【InnoDB】

Innodb 1. 架构 1.1 内存部分 buffer pool 缓冲池是主存中的第一个区域&#xff0c;里面可以缓存磁盘上经常操作的真实数据&#xff0c;在执行增删查改操作时&#xff0c;先操作缓冲池中的数据&#xff0c;然后以一定频率刷新到磁盘&#xff0c;这样操作明显提升了速度。 …...

HTML应用指南:利用GET请求获取全国汉堡王门店位置信息

在当今快节奏的都市生活中&#xff0c;餐饮品牌的门店布局不仅反映了其市场策略&#xff0c;更折射出消费者对便捷、品质和品牌认同的追求。汉堡王&#xff08;Burger King&#xff09;作为全球知名的西式快餐品牌之一&#xff0c;在中国市场同样占据重要地位。自进入中国市场以…...

STM32+EC600E 4G模块 与华为云平台通信

前言 由于在STM32巡回研讨会上淘了一块EC600E4G模块以及刚办完电信卡多了两张副卡&#xff0c;副卡有流量刚好可以用一下&#xff0c;试想着以后画一块ESP32板子搭配这个4G模块做个随身WIFI&#xff0c;目前先用这个模块搭配STM32玩一下云平顺便记录一下。 实验目的 实现STM…...