服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

谈一谈服务器端缓存失效的应对方法经验总结

2020-12-29 11:00:18 阅读(137 评论(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.…查看详情

最新ai智能系统外呼排名

随着科技的发展,各种智能系统上市,在我们身边就有很多高科技出现。最让人熟悉不过的就是游戏。各大游戏内的人性化以及智能化也是一种智能系统的体现。这里为大家做了详细的关于ai智能系统外呼排名。 1.易网行ai智能系统外呼。深圳易网行AI电话机器…查看详情

财务管理软件都有哪些?推荐5个适合不同规模的企业

财务管理软件是指能有效提升财务工作人员工作效率,减少工作差错率的管理性软件。财务人员的工作琐碎、繁杂,尽管如此,对于财务人员的工作要求却是严谨的。所以一个认真负责的财务工作者,在工作上是会不断寻求好方法,让自己的工作能更加尽善尽美的。那么财…查看详情

2022年十大免费cms建站系统有哪些?

  今天小编就跟大家盘点一下国内外比较知名的cms建站系统,告诉大家靠谱的cms建站系统有哪些,然后你可以从中选择最适合自己的。希望下面的cms系统你在建站的时候能用上。  1、AdobeAEM  Adobe AEM功能可以说是非常强大的,…查看详情

实用的超市销售管理系统

随着现代科学技术的高速发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具。网络与信息化的普及已成为各行业发展不可缺少的东西。然而现在国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信…查看详情

飞鱼crm软件好用吗

飞鱼CRM是一款知名的客户关系管理软件,广泛应用于企业的销售、市场营销和客户服务等领域。以下是对飞鱼CRM软件的评价和使用体验的综合分析:1. 功能丰富:飞鱼CRM提供了包括客户管理、销售管理、营销自动化、客户服务、报表分析等在内的多个功能…查看详情

免费好用的数据库软件有哪些 数据库软件排行榜

  数据库客户端管理维护工具很多,除了系统自带的命令行管理工具之外,还有许多图形化管理工具,下面小编就给大家来详细介绍一下免费好用的数据库软件有哪些 数据库软件排行榜这一块的相关内容,希望能帮助到大家。,  数据库软件排行榜  1.Da…查看详情

U盘数据恢复工具推荐,告别数据丢失烦恼

虽然现在很多东西都特别的方便,但是我们在工作的过程当中也是需要借助U盘的,因为U盘可以随身携带,不管是出差还是去哪里都可以直接用U盘把自己想要播放的内容播放出来,要要比直接另一个笔记本电脑要更加方便一些,那么U盘数据恢复软件有什…查看详情

最新版权登记收费标准

著作权中对于公司来说最常用的要数软件著作权了,那么申请一个软件著作权都需要什么材料呢,最关心的问题也就是版权登记收费标准,下面就让小编来为大家一一解答。 一、计算机软件著作权登记需要提供如下材料: 1、软件著作权登记申请表;2、说明书;3、…查看详情

推荐四部大众很喜欢的言情小说作品

现在的小说类型复杂多样,而言情小说经久不衰,也许是因为美好的爱情或者是美好的相遇,在现实生活中并不常见,所以人们才需要去言情小说中满足幻想。对于现在的女性们来说,言情小说的存在可以说是生命之光了。 1.何以笙箫默 《何以笙箫…查看详情

快手如何换绑手机号?(附上详细方法)

  手机号是我们与外界联系的一个载体,当由于种种原因需要更换手机号码,我们需要解绑/注销一些账号,下面小编就给大家来详细介绍一下快手如何换绑手机号这一块的内容,希望能帮助到大家。  快手如何换绑手机号  1.当前绑定的手机号可以正常使用: …查看详情

cssci期刊是什么意思

cssci期刊是什么?《中文社会科学引文索引》(cssci)由南京大学中国社会科学研究评价中心开发,是国家教育部重点课题攻关项目。cssci根据文献计量学规律,采用定量和定性评价相结合的方法,从全国2700多种中文人文社会科学学术期刊中评选…查看详情

实用的建筑工程管理软件,工作进展实时记录

对于做工程的人来说,每天的施工进度都是不相同的,但是,每天都做了些什么工作都需要统计下来,因为户主很有可能会跟我们要当日的工作进展报告的,所以,要记录,那么,建筑工程管理软件有什么? 1、筑业建筑资料软件最新版 是款对于建筑…查看详情

恐怖片排行榜前十名送给大家,让你的假期旅程不寂寞

假期一到就要去找片源了,找的那叫一个撕心裂肺啊,大部分看过了,或者不知道水平如何,这里小编就要毛遂自荐一下了,良心推荐的恐怖片排行榜前十名送给大家,让你的假期旅程不寂寞,恐怖片让你们兴奋起来。第一名:午夜凶铃午夜凶铃,十大顶级恐怖片之一,是…查看详情

最新文章