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

企业首选的

数字选用平台

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

2020-12-29 11:00:18 阅读(151 评论(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.LiveAgent: -LiveAgent是一款功能强大的客服系统,提供永久免费的计划。 -它包括实时聊天、电子邮件支持、…查看详情

微信怎么移除拼多多小程序?

  优质答案(1)  禁止微信使用小程序方法如下  第一步:打开微信,在我的页面上,点击‘设置’  第二步:打开设置页面后,点击‘通用’  第三步:在通用设置页面上,找到‘发现页管理’,点击打开。  第四部:打开后,可以看到这里就有小程序的…查看详情

caj阅读器怎么把高亮删除

CAJ阅读器是一种常用的文献阅读工具,它可以方便地对文本进行高亮标注。如果你想删除某个已经添加的高亮标注,可以按照以下步骤进行操作: 1.打开CAJ阅读器,并加载需要操作的文献文件。2.在文档中找到包含高亮标注的部分。3.将鼠标光标移动到需…查看详情

汽车购票软件哪个好 十大手机汽车订票app

现在随着科技和互联网的发展,汽车订票的平台是越来越多了,也是越来越方便了,下面万商云集小编给大家整理了汽车购票软件这方面的内容。  1.12308全国汽车票  【12308】是一款全国公路客运汽车票官方应用,与中国道路运输协会和全国站场工委…查看详情

超受大家喜欢的腾讯游戏排行,每一款游戏都很经典

无论是手机游戏还是电脑游戏都是我们年轻朋友们必不可少的娱乐项目,而腾讯在游戏领域市场占额度可谓首屈一指,每次腾讯发布新的游戏,都能吸引不少玩家,今天就为大家罗列下超受大家喜欢的腾讯游戏排行,快一起来看看吧。1、王者荣耀王者荣耀可是超多人喜欢…查看详情

美国禁止TikTok 贸易政治化成为企业关注焦点

№1 国际贸易市场掀起了一场政治浪潮近日,根据CCTV4中文国际频道新闻消息显示,美国总统特朗普宣称,将禁止中国应用TikTok(抖音海外版)在美国运营。图片来源于网络外交部发言人汪文斌对此表示,美方泛化国家安全概念,在拿不出任何证据的情…查看详情

“脱钩”之后,协会网站建设的重点应该是什么?

一般进行协会网站建设的类型都属于展示型网站,主要目的是展示协会信息、会员单位、协会动态等。主要功能是树立企业形象,促进会员单位与协会之间的关系,更好的发挥发挥纽带作用。图片来源于网络因为协会的性质多属社会团、非盈利机构,这类网站自建设的时候…查看详情

怎样使用代理服务器 代理服务器使用方法

  curl是一个命令行下的web客户端,可以在命令行下执行常见的web访问、自动web请求等操作,下面小编就给大家来详细介绍一下怎样使用代理服务器 代理服务器使用方法这一块的相关内容,希望能帮助到大家。怎样使用代理服务器  curl(cU…查看详情

质量认证体系包括哪些

五体系认证包括什么?ISO五大体系认证:ISO9001国际质量管理体系认证、ISO14001环境管理体系认证、ISO20000信息技术服务管理体系认证、ISO27001信息安全管理体系认证和ISO18001职业健康安全管理体系认证。 1、…查看详情

中小企业重点关注:第46次网络统计报告中的5个点

中国互联网络信息中心发布了第46次《中国互联网络发展状况统计报告》,用多角度、全方位的数据统计展现了2020年上半年国内互联网发展的状况。通过阅读报告,结合中小企业及万商客户整体状况,小编整理了报告中的5个点,值得中小企业重点关注。图片来源…查看详情

业务管理流程软件top5排名

作为一个合格的业务员,他们都会通过一些软件协助来完成任务的,但是,对于一些新手业务员来说,并不清楚应该选用什么软件好,导致下载了很多没用的软件,那么,业务员管理软件有哪些? 1.金山WPS WPS很多人都听过,可是国内好多系…查看详情

“互联网+财税”势在必行,拍账王让做账报税更简单高效!

从12月5日在广州召开的拍账王财税行业发展研讨会上了解到,“互联网+财税”在全国各大省份落地,实实在在的降低中小微企业的综合管理成本,让做账报税更简单高效,大大提高了企业的财务管理水平,有效规避财税风险,助力中小微企业实现卓越运营。 拍账王…查看详情

电影去水印软件-无水印的电影app

在现在的生活中,电影应该是必不可少的一款娱乐项目,在这个项目中,我们可以去影院看,也可以用手机电脑看自己喜欢的电影,但如果在没有网络的情况下,还不喜欢中间带有广告并且还有水印遮挡自己的实现,应该怎么办呢,今天我们就来讲几款电影去水印软件。1…查看详情

第三方卖家仓库是正品吗?品牌商首选代运营特征

第三方卖家仓库是指通过第三方快递直接进行发货,简而言之就是直接从合同仓库发货,那么很多商家对此产生疑问了,第三方卖家仓库是正品吗?答案是是的,但缺点就是价格较高。 第三方仓库即合同仓库,是指企业将仓库等物流活动转包给外部公司,由外部公司企业…查看详情

企业/个人怎么查询商标是否注册?

想要了解怎么查询商标是否注册通常有两种情况,一种是需要注册商标进行近似查询,另一种是委托代理机构进行注册,想要自行查询注册真实进度。前一种的查询相对复杂,后一种查询比较简单,下面就根据以上两种情况的查询情况进行说明。图片来源于网络● 商标近…查看详情

最新文章