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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介:

背景

文件网关提供与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,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
3月前
|
数据处理 对象存储
如何利用 OSS 转换 webp 文件为jpeg
如何利用 OSS 转换 webp 文件为jpeg,OSS 样式使用
1415 0
|
4月前
|
开发工具 对象存储 Python
OSS上,如果你想对一个已经存在的文件进行追加写入
OSS上,如果你想对一个已经存在的文件进行追加写入
186 1
|
6月前
|
开发工具 对象存储 Python
使用Python的SDK从OSS中下载指定日期的所有文件
使用Python的SDK从OSS中下载指定日期的所有文件
182 1
|
3月前
|
域名解析 对象存储 数据安全/隐私保护
如何 Wordpress 使用 OSS 上传图片、文件
如何使用 OSS 上传 Wordpress 的图片文件
1075 2
|
4月前
|
存储 Kubernetes Cloud Native
昆腾Myriad全闪存横向扩展文件与对象存储平台
9月27日,在昆腾举办的研讨会上,资深存储架构专家曾祥礼做了主题为《为下一个数据时代设计的Myriad全闪存文件和对象存储平台》的分享,详细深入地剖析了昆腾全新的Myriad系统。
37 0
|
4月前
|
对象存储
使用流式下载从阿里OSS获取PDF文件时,确保正确处理输入流的读取。
使用流式下载从阿里OSS获取PDF文件时,确保正确处理输入流的读取。
70 1
|
5月前
|
对象存储
使用流式下载从阿里OSS获取PDF文件
使用流式下载从阿里OSS获取PDF文件
416 1
|
5月前
|
存储 弹性计算 Serverless
使用函数计算打包下载OSS文件
本场景介绍如何使用函数计算将对象存储OSS上多个文件(Object)打包下载到本地。
342 0
|
5月前
|
存储 监控 安全
利用HBR实现OSS文件备份
您存储的数据可能会遭遇病毒勒索,文件误删除的情况。本场景主要介绍如何使用HBR为对象存储OSS中存储的数据进行备份,保证数据安全并可及时恢复。
73 0
|
6月前
|
存储 前端开发 JavaScript

相关产品

  • 对象存储