产品概述 

美团云存储服务(Meituan Storage Service,简称 MSS )是经过美团内部反复验证的,高可靠、高可用、海量、安全的对象存储服务。用户可以在需要的时间、地点,使用任何应用上传下载任意大小的数据(最大支持5TB),也可通过控制台方便地进行简单管理。 对象存储主要面向非结构化数据,如视频、音频、图片、文件等,适用于多种企业应用场景。

产品架构

对象存储采用分布式存储技术,以实现对外提供的海量、安全和高可靠的云存储服务。

 

产品可用性

对象存储采用三副本存储,服务可用性不低于99.95%,数据可靠性不低于99.999999999%。若服务可用性没有达到承诺,将按照服务赔偿条款进行赔付。

产品特性

安全可靠

用户数据三副本,并跨机房存储在不同数据中心。支持 HTTPS 协议进行数据传输,方便地使用客户端上传加密数据。

无限扩展

不必担心数据量,存储容量无限扩展。不必担心突增的资源访问,请求处理能力弹性提高。

全网加速

内置 CDN 加速功能,自动选择用户最近节点优化数据传输,接入即加速,大大提高资源访问速度。

按量付费

用多少付多少,按照用户实际使用量付费,免去按峰值带宽付费的烦恼,大大节约成本。

数据处理

提供丰富的图片处理、音视频处理 API,适用于图片缩略、裁剪、水印、音视频处理等常用场景,大大提高效率。

产品优势

MSS 与自建存储对比的优势对比
对比项
对象存储MSS
自建服务器存储
可靠性 - 服务可用性不低于99.95%
- 存储集群规模自动拓展,存储容量无上限
- 数据持久性不低于99.999999999%
- 数据自动多重冗余备份
- 受限于硬件可靠性,易出问题,一旦出现磁盘坏道,容易出现不可逆转的数据丢失
- 人工数据恢复困难、耗时、耗力
易用性

- 提供标准的API接口、丰富的SDK、客户端工具、控制台
- 全面兼容AWS S3协议,快速方便接入构建在此之上的服务和应用

- 研发全套的工具难度较大
- 周边生态及工具缺乏

安全 - 提供企业级多层次安全防护
- 多用户资源隔离机制
- 提供鉴权和授权机制及防盗链功能
- 需要另外购买清洗和黑洞设备
- 需要单独实现安全机制
成本 - 多线BGP骨干网络,无带宽限制,上行流量免费
- 无需运维人员与托管费用,0成本运维
- 存储受硬盘容量限制,需人工扩容
- 单线或双线接入速度慢,有带宽限制,峰值时期需人工扩容
- 需专人运维,成本高
数据处理 - 提供图片处理、音视频转码、内容加速分发等多种数据增值服务,并不断丰富中 - 需要额外采购,单独部署

应用场景

美团云对象存储可用于大量应用场景,如:

场景一、网站/应用动静分离

MSS 支持静态资源托管。您不必担心业务数据量增高导致的服务器负载过高、数据可靠性低等问题。在使用上,您可以像文件夹一样管理您网站上的图片,脚本,视频等静态资源,通过BGP网络或者CDN加速的方式,提供用户就近访问,有效降低云服务器负载,提升用户体验。

场景二、多媒体数据存储

MSS 适用于图片、音视频、日志等海量文件的存储。支持各种终端设备、web网站程序和移动应用直接向 MSS 写入或读取数据。数据可靠性为 99.999999999% ,服务可用性为 99.95%。通过配合美团云CDN加速的方式,提供用户就近访问,能够提升用户的体验。

场景三、云端数据处理

MSS 提供丰富的图片、音视频处理服务。 上传文件到 MSS 后,您可以配合云端的图片处理服务和音视频服务实现图片裁剪、图片缩放、格式转化和水印,以及视频转码、切片和拼接等富媒体处理功能,满足移动网络场景下多终端设备的访问需求。

场景四、数据多样化存储

MSS 美团云 搭配美团云 Redis、Memcached 和 数据库等存储产品使用,实现多样化存储拓展。对象存储与数据库产品相结合,组成多类型数据存储解决方案,用户可以将图片、音视频等非结构化数据存储在对象存储中,将高热数据和结构数据分布存储在缓存和数据库中,可以为用户提供更好更流畅的产品体验。

场景五、备份与归档

MSS 提供高可用和高可靠的存储解决方案来备份和归档用户的关键数据。通过美团云的签名安全机制可以保障用户数据的访问安全。相比传统自建的备份和归档存储系统,用户无需在业务初期采购高昂硬件,无需担心数据增值带来的扩容问题,从而更加节省成本。

场景六、数据分析与AI

MSS 非常适合存储某些应用场景的原始数据,例如生物分析数据、用户计算和定价的金融数据,或用于处理的相片和 音视频等。MSS 配合计算GPA、FPGA以及大数据等产品可以方便快捷的实现数据的输入和输出。现深度学习平台的数据输入输出已采用对象存储。

场景七、跨云灾备

MSS 提供完整的跨云备灾解决方案,支持热备和冷备。云存储即使服务可用性(SLA)达到99.9%,也无法避免“黑天鹅”的出现。因此,选择多家云存储服务平台做灾备方案,并且定期同步数据,具备随时切换云存储服务的能力,避免出现因单点故障造成的业务中断势在必行。MSS 支持镜像存储,一种数据迁移和加速服务。可以帮助用户实现无缝数据迁移,在迁移的过程中并不会影响原有业务系统的访问。此外,MSS 还支持抓取的方式进行数据迁移和同步。

可用区域

MSS 支持多地域存储,目前开放了华北地区和华东地区。不同地区的默认访问域名不同。建议根据自己的业务场景选择就近的地域存储,可以提高对象上传、下载速度。

Region中文名称 Region英文名称 外网Endpoint
华北1区 NorthChina1 mtmss.com
华东1区 EastChina1 eastchina1.mtmss.com

基本概念

Object(对象)

对象存储中存储数据的最小单位,每个文件对应一个 Object。Object 名使用 UTF-8 编码。每个 Object 由数据和元数据组成。数据对应于存储的文件内容。元数据对应于文件的属性,包括Last Modified Time、Content-Type 以及自定义属性键值对等。对象大小最多可为 5 TB。

Bucket(空间)

对象存储中 Object 的组织管理单位,每个 Object 都存储在一个 Bucket 中。Bucket 名不能修改。每个用户最多创建10个 Bucket。每个账户下的 Bucket 名不能重复。可以对 Bucket 进行权限控制。Bucket 内的 Object 个数及总空间大小没有限制。命名规范:
    • 只能包括小写字母,数字和短横线(-)
    • 必须以小写字母或者数字开头
    • 长度必须在 3-63 字节之间

Region(地域)

Region 表示对象存储的数据中心所在的地域,物理位置。用户可以根据费用、请求来源等综合选择数据存储的 Region。一般来说,距离用户更近的 Region 访问速度更。Region是在创建 Bucket 的时候指定的,一旦指定之后就不允许更改,该 Bucket 下所有的 Object 都存储在对应的数据中心,目前不支持 Object 级别的 Region 设置。

Endpoint(访问域名)

Endpoint 表示对象存储对外服务的访问域名。对象存储以 HTTP RESTful API 的形式对外提供服务,当访问不同的 Region 的时候,需要不同的域名。例如华北1区的外网 Endpoint 是 mtmss.com,华东1区的外网 Endpoint 是 eastchina1.mtmss.com

Access Key 和 Access Secret  

美团云为每位用户分配一个 Access Key 和 Access Secret,该密钥将在用户向对象存储发起请求时用作签名验证。Access Key 用于标示用户,Access Secret 是用户用于加密签名字符串和 对象存储 服务用来验证签名字符串的密钥。用户在创建 Bucket 之后,可以通过点击控制台 → API 页面获取。

最终一致性

同亚马逊 S3一样,美团云对象存储采用最终一致性模型。例如,如果您对某一个文件执行更新操作,则后续读取可能会返回旧数据或已更新的数据,但不会返回部分或损坏的数据。数据存储三副本,保证了高读取吞吐量和高可用性。PUT 请求成功,则表示数据已安全存储。但是,要做到三副本的一致,需要一点时间。

CDN 加速

内置 CDN 加速功能,自动选择用户最近节点优化数据传输。

外网访问地址

用户上传对象后,美团云会自动为对象创建形如以下样式的访问地址:
华北一区/华北二区:http://-./objectname.jpeg,即http://-.mtmss.com/objectname.jpeg
华东一区:http://-./objectname.jpeg,即http://-.eastchina1.mtmss.com/objectname.jpeg

默认域名

用户创建 Bucket 后,系统自动为每一个 Bucket 分配一个默认域名,改 Bucket 的域名形式如下:
-.(例,华东1区默认域名为:eastchina1.mtmss.com)

自定义绑定域名

通过MSS控制台,用户可以将自定义的域名绑定在属于自己的 Bucket 上。根据中国《互联网管理条例》规定,所有提供互联网信息服务的单位和个人都需要履行备案手续。MSS仅支持备案域名绑定。MSS绑定成功后,可以在DNS服务商处修改自定义域名的CNAME,MSS将自动处理对该域名的访问请求。

图片处理服务域名

以 http://examplebucket-495949.image.mtmss.com/example.jpg@100w_100h.png 为例
examplebucket-495949:用户Bucket的名字和用户编号
image.:图片访问域名(注:如果需要处理图片,请在原图域名内加image,表示通过图片处理服务器来进行图片处理相关操作)
example.jpg:待处理的原图的名字
@:处理分隔符
100w_100h.jpg:处理字符串
100w_100h:将原图进行处理的参数,即转换参数
.png:将原图根据参数处理后的保持的格式,即转换格式

访问控制(ACL)

空间的权限可以设置为公开和私有。私有表示仅创建者可以读写,公开表示创建者可写,所有人可读。

防盗链

防止陌生人链接对象存储中的数据,避免不必要的资源浪费和资金损失。同时也支持基于 HTTP HEAD 中 Referer 的防盗链方法。可以通过控制台设置全网生效的 Referer 白名单或黑名单。

 缓存刷新

对象存储默认提供 CDN 加速功能。CDN 节点会对产生过请求的 Object 缓存一定周期,Bucket 内 Object 发生变化(更新或删除)时,可以通过控制台强制清除全网缓存的旧 Object。

客户端加密

 – 用户向加密客户端提供一个客户端主密钥,客户端只使用此主密钥加密其随机生成的数据加密密钥。该过程的工作方式如下所示:
  • 加密客户端会在本地生成一次性的对称密钥,亦称数据加密密钥(或数据密钥)。它使用此数据密钥来加密单个对象的数据(针对每个对象,客户端会生成单独的数据密钥)。
  • 客户端使用您所提供的主密钥来加密数据加密密钥。
    客户端会将加密的数据密钥及其材料说明作为对象元数据的一部分上传。之后,材料说明会帮助客户端确定使用哪个客户端主密钥解密(当您下载对象时,客户端会将其解密)。
  • 然后客户端会将加密数据上传到对象存储,同时在对象存储中将加密数据默认保存为对象元数据 (x-amz-meta-x-amz-key)。 – 客户端首先从对象存储下载加密的对象以及元数据。通过使用元数据中的材料说明,客户端首先会确定使用哪个主密钥解密加密的数据密钥。客户端使用此主密钥来解密数据密钥,并使用它来解密对象。
 – 客户端首先从对象存储下载加密的对象以及元数据。通过使用元数据中的材料说明,客户端首先会确定使用哪个主密钥解密加密的数据密钥。客户端使用此主密钥来解密数据密钥,并使用它来解密对象。

TempURL 临时授权

系统模型如下图所示:

注意:

  • Access Key 和 Access Secret 均不可出现在终端用户的应用程序中,不管是配置文件还是二进制代码
  • Access Key 要保存在安全的位置,不要通过网络传输
  • 原则上,终端用户应用程序只能使用 TempURL 进行文件的上传和下载

HTTPS 方式安全访问

美团云对象存储的所有 API 都支持 HTTP 和 HTTPS 两种方式访问。但使用 SSL 安全协议访问云存储,需要用户用工单的方式提交自己的SSL证书。

镜像存储

镜像存储是美团云提供的数据无缝迁移工具,能够帮助用户实现原有业务系统已有数据到美团云对象存储的无缝迁移。