事故的背景公司最近安排了一波商品购买活动。由于后台兄弟的操作错误,活动结果很差,遭到用户和代理商的抱怨。
经理要我带我的同事来回顾在线事故。是什么原因造成的?抢购活动计划按时从0:00开始,到22:00,操作人员将在23:00通过后台将产品上线。
后端兄弟已将产品导入缓存。预热和急冲的瞬间流量非常大。
根据计划,Redis将承担其中的大部分。用户查询请求,以避免所有请求落在数据库上。
高速缓存命中如上图所示,大多数请求都将命中高速缓存,但是由于后台兄弟会预热高速缓存,因此所有产品的高速缓存时间都设置为2小时以到期,并且所有产品都将在此时间失效。同一时间点,所有请求都是瞬时的。
所有数据均落在数据库上,导致数据库在压力下崩溃,所有用户请求均超时,并报告了错误。实际上,所有请求都直接落入数据库,如下图所示:何时发现缓存雪崩?凌晨01:02,SRE收到系统警报,登录到运维管理系统,发现数据库节点的CPU和内存已飙升至阈值以上,并迅速联系后台开发人员进行定位和故障排除。
您为什么不早发现?由于高速缓存设置的到期时间为2小时,因此高速缓存可以在凌晨1点之前命中大多数请求,并且数据库服务处于正常状态。发现时采取了什么措施?在通过日志定位和故障排除发现问题之后,后台兄弟执行了一系列操作:首先,限制大部分流量通过API网关(网关)进入,然后重新启动关闭的数据库服务,然后重新加热缓存。
确认缓存和数据库服务正常后,网关流量已正常释放,并且紧急购买活动在01:30左右恢复正常。如何避免下次出现?事故的原因实际上是缓存雪崩,大量查询数据以及请求直接落在数据库上,导致数据库处于压力和停机时间。
在业界,解决高速缓存雪崩的方法比较成熟,例如:统一过期加互斥锁高速缓存永不过期(1)统一过期设置不同的过期时间,以使缓存失效的时间点尽可能均匀。通常,您可以将一个随机值添加到有效期或统一计划有效期。
缓存密钥过期时间是平均分配的(2)添加互斥锁与缓存崩溃的解决方案相同。同时,只允许一个线程建立缓存,而其他线程则被阻塞并排队。
互斥访问(3)高速缓存永不过期与高速缓存崩溃解决方案相同的想法是,高速缓存在物理上永不过期,并使用异步线程更新高速缓存。异步更新缓存。
审查摘要与同事一起审查在线事件之后,每个人都对缓存雪崩有了更深入的了解。为了避免再次发生缓存雪崩事故,我们一起讨论了几种解决方案:(1)平均到期(2)添加互斥锁(3)缓存永不过期。
希望技术人员能够尊重每一行代码! -END-我特别推荐一种高质量的内容共享架构+算法。如果您没有关注,则可以长按以关注它:长按以订阅更多令人兴奋的内容▼如果您已获取,请单击以查看,衷心感谢您的免责声明:本文内容由21ic在获得后授权,版权归原作者所有,该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。如有任何疑问,请与我们联系,谢谢!。
公司: 深圳市捷比信实业有限公司
电话: 0755-29796190
邮箱: ys@jepsun.com
产品经理: 汤经理
QQ: 2057469664
地址: 深圳市宝安区翻身路富源大厦1栋7楼

更多资讯
获取最新公司新闻和行业资料。
- 现货SMC磁性开关D-90、D-A93 D-A73:高效可靠的自动化控制选择 现货供应的SMC磁性开关D-90、D-A93和D-A73型号是工业自动化领域中不可或缺的传感设备。这些开关主要用于检测气缸活塞的位置,通过内置的磁感应元件来实现非接触式的信号传输。它们在设计上具备小巧紧凑的特点,能够轻松安装...
- double sum = 0.0; for(int i = 0; i < n; i++) { if(resistors[i] > 0) { sum += 1.0 / resistors[i]; 在C语言中计算并联电阻的总电阻是一个常见的应用问题,它涉及到基本的物理知识与编程技巧的结合。并联电路中的总电阻可以通过所有并联电阻倒数的和的倒数来计算。首先,我们需要定义一个函数来处理这一计算过程。例如...
- 直流母线上缓冲电阻的作用 制动电阻很明显是制动作用的。当你的变频器驱动电机高速运行时候,这个时候你需要突然刹车,让电机在较短时间停下来,就要用到刹车电阻了,主要作用是消耗掉电机的能量,转化成热能的形式释放掉。直流母线的问题,首...
- 零延迟缓冲器与低延迟时钟缓冲器的技术原理及应用解析 零延迟缓冲器与低延迟时钟缓冲器的核心技术对比在高速数字系统设计中,时钟信号的完整性与传输延迟直接影响系统的性能与稳定性。零延迟缓冲器(Zero Delay Buffer, ZDB)和低延迟时钟缓冲器(Low Latency Clock Buffer)是两类关键的...
- 台湾大毅科技 经营理念 主要商品/ 服务项目 产业类别被动电子元件制造业联络人人资部产业描述电子制造业电话暂不提供资本额15亿 经济部商业司查询传真暂不提供员工人数1300人地址桃园市芦竹区南山路三段17巷4号相关连结【背景】 大毅科技为通过ISO-9001/IATF-16949...
- 电解电容的故障查找以及故障原因 电解电容器广泛应用于电气设备中,故障率很高。电解电容器的损坏方式如下:一是容量完全丧失或减少;二是轻微或严重泄漏;第三种是容量损失或泄漏导致的容量减少。那么如何快速找到有故障的电解电容器呢?1.触摸:一些...
- 深入理解N沟道MOSFET:性能优化与常见故障排查指南 N沟道MOSFET的性能优势与优化策略相较于传统双极型晶体管,N沟道MOSFET具有高输入阻抗、低静态功耗、快速开关速度等显著优势,广泛应用于现代电子系统中。以下为性能优化的关键点:1. 栅极驱动优化使用合适的栅极驱动电压(...
- 10个问题让你一次性看懂电阻 1、什么是电阻?与电流、电压一样,电阻是电路的基本参数。电阻在电路中是用得最多的一种元器件。顾名思义,电阻是阻碍电流动的一种元器件,与电流是“死对头”。当我们在导体上施加电压时,电荷会以特定方向流过导体...
- 浅谈市场上翻新电解电容器的鉴定经验 如果正向DC电压、反向DC电压、浪涌电流、功耗或温度超过额定条件,SMC将失败。与其他部件一样,SMC在额定使用条件下的故障率较低。短路是SMC的主要失效模式。在使用SMC的电路中,较小的电参数偏差并不重要,但更严重的是...
- 突崩晶体管原因及解决方法 在电子设备中,晶体管作为重要的电子元件之一,其稳定性和可靠性至关重要。当提到“突崩晶体管”时,这通常是指晶体管突然失效或损坏的情况。晶体管损坏的原因多种多样,包括过电压、过电流、热应力、辐射损伤等。针...
- WAN2012F245M06配置指南与故障排查 在使用WAN2012F245M06设备时,我们可能会遇到各种各样的问题。为了帮助大家更好地理解和使用这个设备,下面将提供一些基本的配置步骤和常见的故障排查方法。首先,进行设备的基本配置。确保设备已正确连接到电源,并通过...
- 零延迟缓冲器工作原理及应用 零延迟缓冲器是一种在信号处理领域广泛应用的技术,它主要用于消除信号传输过程中的延迟问题。在数字信号处理、音频工程以及视频处理等领域中,延迟是一个常见问题,可能导致信号失真或同步问题。零延迟缓冲器通过先...
- WAN3216FD27H06路由器配置指南与故障排查 在现代家庭和办公环境中,路由器作为网络连接的核心设备,其重要性不言而喻。WAN3216FD27H06路由器因其稳定性和高效性能受到许多用户的青睐。然而,即便是优质的产品,在使用过程中也可能遇到一些配置或故障问题。为了帮助...
- 单端时钟缓冲器的工作原理与应用 单端时钟缓冲器是一种在电子电路设计中广泛应用的组件,主要用于提高时钟信号的质量和稳定性。在高速数字系统中,时钟信号是数据传输同步的基础,而单端时钟缓冲器能够有效地解决由于长距离传输或高频率引起的信号衰...
- 微分时钟信号缓冲器工作原理及应用 微分时钟信号缓冲器是一种在电子工程中广泛应用的组件,主要用于提高时钟信号的质量和稳定性,从而确保数字系统的精确同步。其工作原理基于将输入的时钟信号进行处理,以减少或消除信号传输过程中的失真和噪声,进而...
- PCI Express时钟缓冲器的工作原理与应用解析 PCI Express时钟缓冲器的核心作用PCI Express(PCIe)时钟缓冲器是确保高速数据传输稳定性的关键组件。在现代计算机系统中,PCIe总线用于连接显卡、固态硬盘、网卡等高性能外设。由于这些设备对时序精度要求极高,因此需要精确...
- 聚鼎低阻自恢复保险丝PPTC--锂电池二次保护重要元件 锂离子电池现在是大多数笔记本电脑、智能手机、电子阅读器和平板电脑设计中使用的标准电池组的一部分。它在电动汽车、电动工具和军事/航空航天应用等其他细分市场也越来越受欢迎。锂电池的三个主要功能成分是阳极(通...
- 590直流电机控制器烧保险丝故障排查与维修指南 590直流电机控制器烧保险丝的深度故障排查西门子590系列直流电机控制器广泛应用于工业自动化设备中,其稳定性较高,但一旦出现烧保险丝问题,需系统性排查。以下是针对该型号控制器的典型排查流程:1. 检查输入电源与保...
- 贴片压敏电阻应用指南:从选型到故障排查全解析 贴片压敏电阻应用指南:从选型到故障排查全解析随着电子产品向小型化、高集成度发展,贴片压敏电阻因其体积小、响应快、可靠性高等优点,已成为现代电路设计中的关键元件。本文将系统讲解贴片压敏电阻的选型原则、应...
- 如何选择合适的积层压敏电阻?以JMV-S系列为例解析选型要点 积层压敏电阻选型指南:聚焦JMV-S系列在现代电子系统中,正确选择压敏电阻对保障电路稳定性和安全性至关重要。本文以JMV-S积层压敏电阻为例,深入剖析选型过程中应关注的关键因素。一、关键选型参数解析1. 额定电压(Vnom)...