首页 > 其他分享 >针对缓存雪崩的面试问题

针对缓存雪崩的面试问题

时间:2024-12-14 21:30:08浏览次数:9  
标签:方案 缓存 rehash DB 面试 限流 雪崩

针对于缓存雪崩,谈一下个人的几点看法,之前某美国老奶访台湾的时候某大厂就出现过缓存雪崩的问题。 现在业内主流的做法是 一致性hash + rehash,也就是说出现缓存雪崩分为两种情况: 情况一:缓存不支持rehash导致的服务雪崩。

情况二:缓存支持rehash导致的服务雪崩,大部分跟流量洪峰有关系,流量洪峰到达从而引发部分缓存节点过载,然后因为rehash扩散到其它节点上,最终导致整个缓存系统崩溃。

针对于缓存雪崩实际上并没有什么很好的解决方案,只能在架构层面进行预防,除了限流策略意外,其余两种方案不管是给不同的Key的TTL添加随机值,还是利用Redis集群提高服务的可用性。都还是针对于缓存层,不能很好的预防缓存雪崩的问题。 如何防止? ---> 方案一+方案二+方案三相互配合使用

方案一:对业务 DB 的访问增加读写开关,当发现DB请求变慢、阻塞、慢查询超过阙值,关闭读开关,部分或所有读DB的请求进行快速失败。立刻返回,等DB恢复之后再打开读开关。

方案二:对缓存增加多个副本,缓存未命中则读取副本,并且需异地多活。 方案三:缓存监控,服务降级限流等策略..... 监控+预防

标签:方案,缓存,rehash,DB,面试,限流,雪崩
From: https://blog.csdn.net/2201_75977417/article/details/144476642

相关文章

  • OSPF-面试
    OSPF建立过程    相邻路由器之间建立邻居关系    邻居之间交换LSA,生成LSDB    使用SPF算法进行优选路径计算        将计算出来的路由写到路由表中。OSPF的报文    hello报文:发现、维护邻居    DD报文:选举DR,确......
  • 腾讯技术岗位笔试&面试题(四)
    说在前面本篇文章是腾讯技术面试题目汇总第四篇。后续将持续推出互联网大厂,如阿里,腾讯,百度,美团,头条等技术面试题目,以及答案和分析。欢迎大家点赞关注转发。原文链接:https://mp.weixin.qq.com/s/9EpKvEJECIh6rrd_Kqdfkw1.__stdcall和__cdecl的区别?__stdcall__stdcall是函......
  • C++面试题总结---操作系统(1)
    Linux中查看进程运行状态的指令、查看内存使用情况的指令、tar解压文件的参数。1.查看进程运行状态的指令:ps命令。“ps-aux|grepPID”,用来查看某PID进程状态2.查看内存使用情况的指令:free命令。“free-m”,命令查看内存使用情况。3.tar解压文件的参数:五个命令中必......
  • 【Spring】Spring三级缓存以及如何解决循环依赖
    1.Spring三级缓存Spring的三级缓存机制主要应用于其依赖注入(DI)容器中,特别是在单例(Singleton)作用域的Bean创建过程中。这三级缓存的设计目的是为了提高性能,减少重复创建Bean的开销,并确保Bean的唯一性和一致性。1.1一级缓存(SingletonObjectsCache)存储位置:single......
  • 语义缓存:提升 RAG 性能的关键策略
    检索增强生成(Retrieval-AugmentedGeneration,简称RAG)(RAG综述:探索检索增强生成技术的多样性与代码实践)技术已经成为构建高性能AI模型的重要基石。RAG通过结合先进的语言模型与外部知识检索,能够生成既准确又富含上下文的响应。然而,尽管RAG功能强大,但它也伴随着一系列挑战,如高令牌......
  • 为什么需要清除浏览器缓存才能正常访问HTTP?
    301重定向是一种永久重定向,浏览器会将这种重定向信息缓存起来,以便下次访问相同URL时直接跳转到目标URL,而不需要再次请求服务器。因此,即使你在服务器端取消了301重定向规则,浏览器仍然会根据缓存的重定向信息直接跳转到HTTPS页面。为了确保能够正常访问HTTP页面,需要清除浏览器的缓存......
  • C#经典算法面试题
    1.递归算法1.1C#递归算法计算阶乘的方法一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。原理:亦即n!=1×2×3×...×(n-1)×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。 ///<summary......
  • C# 面试常见递归算法
    前言今天我们主要总结一下C#面试中常见递归算法。C#递归算法计算阶乘的方法一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。原理:亦即n!=1×2×3×...×(n-1)×n。阶乘亦可以递归方式定义......
  • 说说你对前端缓存策略的理解
    前端缓存策略旨在提高网页加载速度和用户体验,通过存储静态资源(如图片、CSS、JavaScript文件等)在浏览器或CDN等缓存层中,减少重复请求,从而缩短页面加载时间。一个好的缓存策略需要权衡缓存命中率、缓存空间占用、缓存失效机制等因素。以下是我对前端缓存策略的理解,涵盖几个关键......
  • 中高级运维工程师运维面试题(一)之JVM
    这里写目录标题问题1:什么是堆?它在JVM中的作用是什么?问题2:堆中有哪些内容?问题3:什么是Eden区、Survivor区,年轻代和老年代的作用分别是什么?问题4:什么是GC?有哪些常见的垃圾回收器?问题5:栈是什么?与堆有什么区别?问题6:如何优化堆和栈?问题7:简述FullGC的触发条件以及如何优......