文件网关秒级同步OSS变更对象初体验

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
云备份 Cloud Backup,100GB 3个月
简介:

背景

文件网关提供与OSS对象1:1映射的文件服务,从文件网关挂载点写入的文件可以快速上传到OSS,但是OSS反向同步一直是个痛点。用户通过云控制台,OSS传输工具或者SDK上传变更了一个对象文件,如何让网关以及客户端的挂载点快速的感知到呢?

文件网关之前提供的解决方案是定时按需触发扫描,也即用户主动进入目录,会去扫描OSS对应的同步当前目录和次级目录下的文件,并且反向同步到网关侧,每个时间周期内只触发一次扫描。该解决方案在简单的交互场景下可以满足用户的基本需求,但是存在两个缺点。首先是扫描周期不能设的太短,不然用户浏览文件夹的时候会频繁触发OSS扫描增加时延,影响了浏览体验,同时也会增加OSS请求量,产生一定的费用。目前控制台上允许的最小值是15s,对于反向同步敏感的客户来讲就无法满足了。其次是扫描对海量文件目录结构很不友好,即便是海量文件里变更了少数几个文件,也需要全量扫描,造成的开销很大。

用户需要一种更加友好彻底的解决方案,以极小的开销去获取增量变化信息。网关在此背景下推出了极速同步功能,能够帮助用户秒级获取OSS的增量变化,并在网关侧上及时更新。

极速同步原理

文件网关为用户配置了OSS事件规则,利用MNS消息队列服务获取OSS的变更事件,并对这些增量文件去OSS获取最新的元数据信息,有效的避免了之前的扫描开销,让秒级同步成为了现实。
sync_arch

在开启网关极速同步功能时,网关控制台会预先获得用户的授权访问MNS服务,创建对应的事件通知规则,消息主题和消息队列,用户不需要做额外的MNS操作。

创建同步组

在网关控制台左边栏新增了“极速同步”标签页,选中之后会看到已经创建的各个区域的全局同步组列表。在创建同步组的页面里填入与文件共享相同的Bucket和子目录信息,为了优化交互,Bucket下拉框只会列出已经存在共享的Bucket,而不是该region下的所有Bucket,所以创建同步组时,请确保目标Bucket至少有一个文件共享已经存在。

create_sync

如下图所示,未加入同步组的共享详情如下,可以通过该链接快速跳转到极速同步标签页。
share_no_sync

在同步组设置中,左边框会列出该Bucket下适配同步组的所有共享,在共享名称旁边是网关名称/网关region信息,方便用户定位,选中共享移到右边框即可加入同步组。
add_sync

加入同步组成功之后,可以在同步组的详情页里看到已经创建的消息主题和消息队列等信息。

sync_detail

也可以通过共享详情页看到该同步组ID信息。

share_info

体验极速同步

笔者在OSS控制台上做了几组操作包括上传/删除文件,创建/删除目录,通过SMB挂载在Windows客户机器上即刻可以看到,妥妥的秒级同步。通过NFS挂载访问共享时,使用默认挂载参数时会有20s左右的时延才可以看到OSS
的变化,这是由于NFS客户端缓存了元数据导致,添加上noac这个挂载参数就可以禁掉客户端缓存,实时去获取网关最新的元数据,也能够达到秒级同步的效果。

小结

本文详细介绍了文件网关的极速同步功能以及操作,并且重点介绍了OSS反向同步这个场景下的初体验,总体来讲体验是比较惊艳的,后面还会从其他场景的视角去解读这个新特性,敬请期待。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
7月前
|
存储 Cloud Native API
oss云网关配置
配置阿里云OSS与云网关实现灵活数据传输和访问控制。步骤包括开通OSS服务,创建Bucket,获取访问凭证,可选配置CORS和生命周期规则。云网关配置涉及阿里云云原生网关的代理规则设定或使用云存储网关集成OSS访问,具体配置需参照产品文档,因产品更新可能会有变动。
130 1
|
2月前
|
对象存储
一个通过 GitHub Action 将 GitHub 仓库与阿里云 OSS 完全同步的脚本
一种将 GitHub 仓库完全同步到阿里云 OSS 的方法。
|
6月前
|
DataWorks 安全 关系型数据库
DataWorks产品使用合集之同步数据到OSS时,文件的切分单位如何设置
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
存储 API Swift
Ceph Reef(18.2.X)之Swift操作对象存储网关
这篇文章详细介绍了Ceph Reef(18.2.X)中通过Swift API操作对象存储网关的方法,包括创建用户、子用户、配置环境变量、以及使用swift命令行工具进行存储桶和对象的管理。
42 7
Ceph Reef(18.2.X)之Swift操作对象存储网关
|
3月前
|
存储 弹性计算 缓存
云存储网关-高可用文件网关基本介绍
本文介绍云存储网关新推出的高可用文件网关使用方法及其架构原理。通过选择“高可用”选项,用户可在不同可用区部署网关,避免单点故障。文章详细描述了创建网关、配置虚拟挂载IP及缓存盘、创建共享等步骤,并解释了高可用架构如何通过数据复制和故障切换确保服务连续性和低延迟访问。
70 4
|
3月前
|
存储 对象存储
Ceph Reef(18.2.X)的对象存储网关(rgw)组件搭建
这篇文章是关于Ceph Reef(18.2.X)版本中对象存储系统的配置和使用案例,包括对象存储网关的概述、核心资源介绍、Ceph RGW支持的接口、高可用radosgw的部署、s3cmd工具的使用以及如何通过HTTP方式访问对象存储。
111 3
Ceph Reef(18.2.X)的对象存储网关(rgw)组件搭建
|
3月前
|
存储 对象存储
radosgw高可用对象存储网关实战指南
关于radosgw高可用对象存储网关的实战指南,涵盖了从基本概念到具体操作案例,再到架构设计和使用技巧的全面介绍。
69 6
|
3月前
|
对象存储 Python
Ceph Reef(18.2.X)之python操作对象存储网关
这篇文章介绍了如何在Ceph Reef(18.2.X)环境中使用Python操作对象存储网关(rgw),包括环境搭建、账号创建、使用s3cmd工具以及编写和测试Python代码。
54 3
|
5月前
|
存储 关系型数据库 算法框架/工具
Ceph对象网关,多区域网关
Ceph对象网关,多区域网关
46 6
|
5月前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之在使用MaxCompute进行数据集成同步到OSS时,出现表名和OSS文件名不一致且多了后缀,该如何处理
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。

相关产品

  • 对象存储