文件网关秒级同步OSS变更对象初体验-阿里云开发者社区

开发者社区> panyun> 正文

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

简介:
+关注继续查看

背景

文件网关提供与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反向同步这个场景下的初体验,总体来讲体验是比较惊艳的,后面还会从其他场景的视角去解读这个新特性,敬请期待。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
windows api学习笔记-用临界区对象使线程同步
#include #include #include using namespace std; int g_nCount1 = 0; int g_nCount2 = 0; CRITICAL_SECTION g_cs;//临界区 BOOL g_bContinue = TRU...
593 0
关于网络IO中的同步、异步、阻塞、非阻塞
在高并发编程当中,我们经常会遇到一些异步、非阻塞等一些概念,一些常用的技术比如异步的httpclient、netty nio、nginx、node.js等,它们的原理大都跟异步、非阻塞有关。特别是在服务器开发中,并发的请求处理是个大问题,阻塞式的函数会导致资源浪费和时间延迟。通过事件注册、异步函数,开发人员可以提高资源的利用率,性能也会改善。其nginx和node.js处理并
2117 0
对象存储OSS如何通过PutObject上传文件?
迁移OSS的文件,就是将用户其他数据源的文件迁移至OSS。接下来几篇文章将介绍的方法是以下四种:一、通过API/SDK上传文件;二、通过API/SDK拷贝文件;三、通过oss-import工具迁移文件;四、通过云市场服务迁移文件。
7593 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
3975 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7630 0
阿里云服务器远程登录用户名和密码的查询方法
阿里云服务器远程连接登录用户名和密码在哪查看?阿里云服务器默认密码是什么?云服务器系统不同默认用户名不同
87 0
+关注
5
文章
0
问答
来源圈子
更多
阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载