ATS的合并回源中多副本逻辑分析

天翼云开发者社区
• 阅读 0

本文分享自天翼云开发者社区《ATS的合并回源中多副本逻辑分析》,作者:LeonHao

当ATS的read_while_write功能开启后,处理多副本的合并回源读取会涉及一系列复杂的逻辑和操作。以下是对这一过程的详细说明:

一、read_while_write功能概述

ATS中的read_while_write功能允许在缓存读取(cache read)操作发现已经存在打开目录(opendir)时,从该目录中检索正在写入的缓存虚拟连接(cachevc,即write_vc)。如果write_vc中尚未包含完整且合法的数据(即数据仍在写入过程中),cache read操作会等待,直到write_vc中的数据变得可读。

二、多副本处理逻辑

在read_while_write功能开启的情况下,处理多副本的合并回源读取涉及以下步骤:

  1. 检测多副本存在: 当ATS接收到一个缓存读取请求时,它会首先检查缓存中是否存在所需的数据。 如果发现存在多个副本(可能是由于之前的分片写入或复制操作产生的),ATS会进入多副本处理逻辑。

  2. 选择最优副本: ATS会根据一定的策略(如最近访问时间、数据完整性等)从多个副本中选择一个最优的副本进行读取。 如果所有副本都不完整或不可用,ATS可能会选择回源(即向原始服务器请求数据)来获取完整的数据。

  3. 等待或合并写入: 如果选择的副本正在被写入(即存在write_vc),ATS会等待该写入操作完成。 如果等待时间过长或写入操作未能及时完成,ATS可能会尝试从其他副本中读取数据,或者启动回源操作。

  4. 回源读取: 如果所有本地副本都不可用或不完整,ATS会向原始服务器发起回源请求以获取数据。 在回源过程中,ATS可能会使用缓存策略来减少未来对原始服务器的请求次数。

  5. 数据更新与同步: 一旦从原始服务器获取到数据,ATS会将其写入缓存中,并更新相关的元数据。 如果之前存在多个副本,ATS可能会尝试同步这些副本以确保数据的一致性。

综上所述,ATS中的read_while_write功能在处理多副本的合并回源读取时涉及一系列复杂的逻辑和操作。通过合理的策略和优化措施,ATS能够高效地处理这些请求并确保数据的一致性和完整性。

点赞
收藏
评论区
推荐文章
批量创建云主机的整个过程
本文分享自天翼云开发者社区《》,作者:乐道上次我们讲述了云主机创建的流程,整个过程中并没有详细区分各个组件的基本功能,本章节将会为大家详细讲述批量创建过程中各个组件的处理过程。1、我们通过console或openapi进行批量创建云主机的下单操作,例如批量
Redis 高可用方案
本文分享自天翼云开发者社区《》,作者:芋泥麻薯一、常见使用方式Redis的几种常见使用方式包括:•Redis单副本;•Redis多副本(主从);•RedisSentinel(哨兵);•RedisCluster;•dynomite;二、各种使用方式的优缺点1
云备份技术解析:备份删除&合并原理
本文分享自天翼云开发者社区《》,作者:沈军在删除备份副本时,需要根据备份副本包含的数据块以及数据块的引用关系来进行空间的释放。当云硬盘的第一个备份副本删除后,全量备份的属性会顺延到后面的第一个增量备份。如果此时云硬盘没有创建备份,在云盘下次创建的新备份时也
OLAP分析数据库适用场景及主流产品对比
本文分享自天翼云开发者社区《》,作者:刘鑫随着企业数字化程度不断提升,数据分析场景越老越丰富,企业在以下几种场景下可能需要使用OLAP(OnlineAnalyticalProcessing,在线分析处理)分析数据库来开展数据分析工作:1.复杂的数据分析:当
CDN热点扩散原理
本文分享自天翼云开发者社区《》.作者:周鹤图一:正常请求流程图图二:热点请求流程图当前CDN部署架构是一个节点内多台服务器,服务器同时部署网关及ATS缓存组件,请求通过四层负载均衡方式打到网关组件,网关根据url做一致性哈希算法到指定的ATS组件获取缓存资
cdn请求设备间防回环一种简单有效实现方案
本文分享自天翼云开发者社区《》.作者:周鹤实施步骤:步骤一:配置设备唯一标识在CDN网络中的每一台cache设备上,配置其唯一的设备标识(如hostname)。确保该标识在CDN网络中全局唯一,以便在请求追踪过程中准确识别设备。步骤二:修改请求处理逻辑在请
升级curl版本,及升级后引起的动态库链接不正常问题的解决
本文分享自天翼云开发者社区《》.作者:李壮服务器使用的curl,可能版本较低,无法支持请求ipv6地址等新功能,此时,就需要升级curl版本。一般的云源提供的版本本身较低,需要指定特定的云源进行升级。升级后,部分机器会产生动态库链接不正确的问题,虽然cur
Cache写机制Write-through与Write-back
本文分享自天翼云开发者社区《》,作者:LeonHaocache写机制中的writethrough和writebackWritethroughWriteisdonesynchronouslybothtothecacheandtothebackingstore
关于在ATS实现分片缓存的一些思考
本文分享自天翼云开发者社区《》,作者:LeonHao在CDN的HTTP缓存服务中,支持HTTPRange请求缓存是至关重要的。随着网络视频、大文件下载等需求的增加,用户往往会通过Range请求来部分获取文件内容,以实现断点续传或并行下载等功能。ATS(Ap
HTTP响应头部Vary的解释
本文分享自天翼云开发者社区《》,作者:毕天枢Vary头部由服务器端添加到响应头部,在缓存中读取到该响应时,会读取到相应的头部,进行一些针对缓存的判断。针对相同的请求,不同的的编码模式会需要返回不同的返回数据。因此如果要从缓存中获取数据时需要缓存多个副本数据
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
1.0k
粉丝
16
获赞
41