谈一谈服务器端缓存失效的应对方法经验总结
2020-12-29 11:00:18 阅读(140) 评论(0)
以缓存失效为例,查看此段伪代码:复制代码如下:localvalue=get_from_cache(key)ifnotvaluethen value=query_db(sql) set_to_cache(value,timeout=100)endreturnvalue看起来没有问题,单元测试时也不会有异常。但是,在进行压力测试时,你会发现数据库的查询每100秒就会出现一次峰值。然而,当进行压力测试时,你会发现数据库的查询每100秒就会出现一次峰值。如果您的cache故障时间设置较长,则发现此问题的概率将降低。为什么会出现峰值?想象一下,在cache失败的那一刻,如果有1000个并发请求同时到达query_db(sql)这个函数会怎么样?是的,数据库中会有1000个请求。这是一场由缓存失效瞬间引起的风暴。它有一个英文名字,叫"dog-pileeffect"。怎么解决?自然的想法是在发现缓存失效后,添加一把锁来控制数据库的要求。具体细节,春哥在lua-resty-在lock的文档中做了详细的说明,我就不重复了,请看这里。多说一句,lua-resty-lock库本身已经为您完成了waitforlock的过程,在查看代码时需要注意这个细节。为了提高业务访问速度和业务阅读并发性,许多用户将在业务架构中引入缓存层。通过缓存的内存读取机制,将所有业务读取请求路由到缓存层,大大提高了业务读取性能。缓存中的数据不能持久。一旦缓存异常退出,内存中的数据就会丢失。因此,为了确保数据的完整性,业务更新数据将落在持久存储中,如DB。目前,云用户的业务结构一般如下图所示:在上图中,您可以看到用户的更新数据直接持续到DB,业务阅读请求直接要求缓存数据,因此业务需要解决缓存故障问题,即缓存中的数据故障问题。目前,解决业务缓存失效问题的解决方案一般是业务实现DB、缓存双写。缓存故障通过业务双写解决,存在以下问题:代码侵入性强,需要双写两个存储,任何DB数据变更,需要同时更新缓存,代码水平后期维护不高用户要求线程同步调用缓存,缓存强,缓存超时等异常,无法实现有效的重试,遇到异常返回系统错误、操作失败等信息,DB在用户体验用户请求线程中同步完成、缓存双写,变更要求链路长,访问延迟大,影响用户体验RDS数据订阅消费,轻松解决阿里巴巴缓存故障也遇到缓存故障问题,随着业务结构的不断调整和优化,我们沉淀了一套高可靠、优雅的缓存故障结构。也就是说,DB(如公共云上的RDS)的增量数据通过数据传输提供的数据订阅功能异步获取,并根据增量数据缓存失效。具体结构如下图所示:在此结构中,缓存更新过程如下:1。业务完成DB更新后,返回请求2。数据订阅通过日志分析实时分析和订阅DB增量更新数据。当DB发现数据更新时,将增量数据推送给下游消费者。3.一旦下游消费者业务收到增量更新数据,即调用消费线程进行缓存更新,完成整个缓存更新过程。从上述缓存故障过程可以看出,该缓存故障机制:1。更新路径短,延迟低:缓存故障为异步过程,业务更新DB完成后直接返回,无需关心缓存故障过程,整个更新路径短,更新延迟低。2.应用程序简单可靠:应用程序不需要实现复杂的双写逻辑,只需启动异步线程来监控增量数据,3.应用程序更新无性能消耗:因为数据订阅是通过分析DB的增量日志来获取增量数据的一种数据分发模式,为阿里巴巴云数据传输提供数据分发模式。缓存失效策略通过数据订阅实现,使业务更新更快,使业务逻辑更简单、更可靠。通过数据订阅实现的缓存故障策略使业务更新更快,使业务逻辑更简单、更可靠。数据订阅只是数据传输提供的一种传输方式。除了数据订阅,数据传输还提供多种传输能力,如实时数据同步和持续服务迁移。如果您需要了解更多关于数据传输的信息,请单击数据传输。
推荐阅读
- 知名的香水品牌有哪些 香水品牌排行榜前十名
相信不管是男士还是女士都有自己喜欢的香水品牌,不同的人有不同的喜好,下面万商云集小编给大家来详细介绍一下知名的香水品牌有哪些 香水品牌排行榜前十名,不知道下面的这些品牌有没有你喜欢的。 1.Anais Anais 是香水经典的后起之秀,…查看详情
- 直播软件哪个好用 2022热门直播软件有哪些
就现在看来,直播行业是比较赚钱的一个行业,所以,大多数人想通过直播进行赚钱,毕竟这个行业的流量是特别大的,那么,我们需要先了解一下直播软件都有哪些,然后在选择软件去直播。 1、虎牙直播 虎牙直播是我国领跑的游戏直播平台的一种…查看详情
- instruments什么意思
music的形容词?形容词是musical,中文意思是adj.音乐的,配乐的;喜爱音乐的,精通音乐的;悦耳的,动听的 Wearenowabletoprintthingssuchasclothing,musicali1trumentsand…查看详情
- mysql的数据类型有哪些?
mysql中int是什么字符类型?MySQL中,INT代表整数型。 1、int:在mysql中,int的数据类型是基本数据类型,是对integer的拆箱。 2、integer:在mysql中,integer的数据类型是引用数据类型,是对…查看详情
- 实用小程序推荐丨符合当下用户习惯的轻量化工具
小程序是各大流量平台都在执行推广是发展规划和市场战略,有人甚至表示,小程序的商业价值是公众号的十倍、百倍。从2018年开始,各类小程序逐渐被推出,微、小、中、大型企业都在推出自己的小程序。几大平台中,微信小程序是B、C端接受度和使用率比较好…查看详情
- 专利权产品的分类 专利权产品有哪些分类
在平时很多的小伙伴都不知道专利权产品的分类的基本情况,而且对专利权产品的分类都不是很熟悉,下面万商云集小编就为大家整理了专利权产品的分类这方面的相关内容,希望下面的内容能帮助到各位。 一、专利权产品的分类 专利它是国家按专利…查看详情
- 卫生巾品牌排行榜前十
以下是关于卫生巾品牌排行榜前十的相关信息: 1.姨妈帮(Always):作为全球领先的卫生巾品牌之一,Always以其舒适度和安全性而闻名。他们提供多种类型的卫生巾,以满足女性在不同时期和需求下的要求。 2.卫洲(Whisper):卫洲是宝…查看详情
- 海外购物网站有哪些 国外购物网站排名
国外购物网站有哪些?知乎分享次数最多的网站系列!经常有人问我“你这瓶面霜哪买的呀”或“你这衣服哪买的呀”,我都会说“海淘的呀”,然后对方就嘤嘤嘤“我没有海外卡怎么办”。下面万商云集小编就为大家整理一下关于国外购物网站排名的相关内容。 …查看详情
- 淘宝刷单应该根据转化率来刷以及我们该怎样提高店铺转化率
刷单对于很多商家并不陌生,相信很多淘宝店都有过刷单的经历,面对现在淘宝如此巨大的竞争,不刷单店铺经营确实很难,这也让很多商家踏上了刷单之路,但是刷单是有风险的,有的商家刷着刷着,发现店铺的流量不但没有提升,反而降权甚至被封店,出现这样的原因…查看详情
- 内容运营是做什么的 内容运营具体工作内容
现在整个运营行业细分的岗位很多,有用户运营,内容运营,新媒体运营,下面万商云集小编就给大家详细介绍下内容运营是做什么的 内容运营具体工作内容这方面的内容、 1、什么是内容运营 其实你平时打开的门户网站、官网、app以及微博和知乎所有的内…查看详情
- 专利公告到发证要多长时间 专利公告到发证要多久?
在平时很多的小伙伴都不知道专利公告到发证要多长时间的基本情况,而且对专利公告到发证要多长时间都不是很熟悉,下面万商云集小编就为大家整理了专利公告到发证要多长时间这方面的相关内容,希望下面的内容能帮助到各位。 一、专利公告到发证要多…查看详情
- 项目文档管理软件的定义是什么
每一款软件都有它发光发亮的地方,当我们在上班的过程中遇到一系列的难题无法解决的时候,就可以上百度查找相关资料,看看运用什么软件能解决,那么,项目文档管理软件相关介绍是什么? 1、项目文档管理软件定义 项目管理是为了能够使工作…查看详情
- 通达信炒股软件合集,这几款都不错
对于想要炒股的人员,或者是已经投入股市的人员来说,一定要找到一款好用的软件,来实时的掌握股市的信息,这样才可以避免更多的损失,同时还能够为大家带来更多的惊喜,那么下面就要针对于通达信炒股软件,为大家进行推荐。 1、通达信金…查看详情
- 好看的动漫网有哪些 2022国内十大动漫网站
现在很多的人喜欢动漫二次元,其实目前这类群体也逐渐在扩大,很多的人都比较喜欢看这一类的漫画等,下面万商云集小编给大家来详细介绍一下好看的动漫网有哪些 2022国内十大动漫网站,不知道下面的这些网站大家使用过没有。 1、樱花动漫 …查看详情
- 怎么做自己的小程序?有复杂的开发制作,也有简单的模板搭建
微信小程序覆盖的行业范围很广泛,因此现在越来越多人都想到利用小程序来引流获客。随着各种小程序制作工具的兴起,如今个人制作小程序已经不是什么难事,懂代码的,可以用官方开发工具自己开发;不懂代码的,可以用第三方小程序工具来制作。那么怎么做自己的…查看详情
猜你喜欢
最新文章

扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121

关注微信公众号
和10万中小企业共同成长

扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有
蜀ICP备12001963号-2
川公网安备 51010402000322号

快速找产品
找一找哪款产品适合您?
咨询热线:400-0033-166
-


-
电话沟通
在线咨询
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达
关注万商云集
和10万中小企共成长
TOP

企业首选的数字选用平台






