查看原文
其他

全面了解小米文件存储服务-FDS

小米生态云 小米生态云 2019-12-19

小米文件存储服务简称FDS,是小米生态云上的分布式对象存储服务,为生态链企业提供弹性、高可用的云端文件存储服务。

FDS采用了Bucket/Object数据模型,跟业内主流系统(S3 OSS KS3)保持一致,方便开发者理解,降低使用门槛,提供了直观易用的Restful API,同时,在架构上具有良好的水平扩展性,对用户提供7x24高可用的服务。

接入方式


FDS向开发者提供了简洁直观的RestfulAPI,开发者可以通过标准HTTP协议来调用FDS的 API。同时,FDS提供了多种SDK,包括Java、Php、Python、C++、Android、Ios、Javascript,便于开发者根据应用开发需要选择合适的SDK。


认证方式


FDS提供了3种认证方式:

1

OAuth认证

该认证主要是用户移动端。具体时序图如下:


2

签名认证

通过将请求和获取的secret key生成签名,然后签名和access key组合生成一个”Authorization”的Header中,并发往FDS。之后,FDS会通过”Authorization”的Header解析access key和签名,用access key获取到对应的secret Key,使用同样的签名算法计算签名,得到服务端签名,最后跟”Authorization”的Header中的签名进行比对,最终可以确定是否通过。


3

预签名认证

开发者需要自己维护预签名下发服务器,由预签名下发服务器调用FDS SDK产生预签名链接。由于签名信息在url中,所有http请求请使用https协议。

功能应用


除了常见的文件、图片、用户数据存储,文件上传下载,小米FDS还提供日志分析、时间通知、图像处理、分片上传等功能。


1

日志分析&时间通知

日志分析是和小米EMR进行配合使用的,利用EMR在FDS上执行日志分析任务。

Notification是FDS的事件通知机制,用户可以为Bucket开启Notification,FDS会将PUT/POST/DELETE事件消息发送到用户指定的EMQ中,用户可以从EMQ中读取事件消息。


2

图像处理

FDS可以通过http和sdk来获取缩略图,以此来保存网页或者是应用需要的静态图片。


3

分片上传

分片上传是为了将Object拆分成若干个Part进行上传的功能,其优点:

◆高throughput —Part可以并行地上传。

◆断点续传 —当网络出现问题后,仅仅需要重传失败的Part。

◆上传不提前知道大小的Object — Object可以边创建边上传。比如,用户通过一个stream接受数据,然后上传到FDS的场景。

4

跨站点同步&多版本应用(即将上线)

跨站点同步会将每个上传到来源存储桶的对象复制到您选择的不同 FDS 区域中的目标存储桶中,保证某个区域故障后,文件不会丢失。

另一个新增功能可以使用多版本功能来保存、检索和还原它们的各个版本。这样,您就能够轻松的从用户意外操作和应用程序故障中恢复数据。

5

生命周期(即将上线)

生命周期功能可以配置TTL规则,使得文件自动过期删除,管理更方便。

开通服务

FDS的申请流程也很简单,只需要用小米账号在开放平台注册成开发者就能使用(已经成为开发者的可以直接申请使用)。

目前新版FDS已经在生态云金山云-北京6和AWS-北京两个区域上线,9月底将在各个海外区域全面上线。开通新版FDS的流程更加简单,无需事先在小米开放平台注册成为开发者,登录生态云后即可直接使用,强烈推荐生态链企业开发者使用新版FDS。

开通老版FDS,需要使用小米账号在小米开放平台dev.mi.com注册成开发者,审核通过后方可登录生态云使用FDS(已经成为开发者的可以直接使用)。


具体快速入门手册,赶紧戳“阅读原文”吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存