网易:对象云存储技术解析

2014-10-22 16:25
中国信息化周报 2014年37期
关键词:存储系统网易海量

■ 网易云对象存储系统架构师 来东敏

在2014 中国系统架构师大会上,网易云对象存储系统构架师来东敏先生作了题为《NOS(网易对象云存储)关键技术解析》的主题演讲。

NOS的四个层次

网易云对象存储,即NetEase Object Storage(NOS)是一个海量的Key-Value系统。其中,Key最大支持1K字节;Value最大支持1TB进制文件,如图片、视频等静态文件;Attribute则最多有10个键值对。

目前整个网易云对象存储系统(NOS)主要分为“接入、缓存、逻辑、存储”四个层次。

接入层 使用Openresty(类似Tengine),其强大的Nginx Lua模块实现了桶粒度实时流量统计、流量隔离等功能;另外,使用Nginx Lua写了部分适合在接入层实现的逻辑;

缓存层 使用专业的缓存服务器TrafficServer,我们测试发现其无论在稳定性还是功能和性能上,都比Squid靠谱;我们用它实现热点数据以及富媒体处理后的临时数据缓存;

逻辑层 使用Tomcat实现对象存储主要的业务逻辑,由于Tomcat众所周知的在高并发上的短板,我们正在积极探索,计划使用Netty来替换Tomcat;

存储层 是对象存储系统的基石,NOS构建在网易分布式文件系统(DFS)和网易分布式数据库(DDB)之上,DFS做数据存储,而DDB则存储元数据。

NOS云对象存储关键技术

NOS从无到有经历了两年时间,当前网易内部使用NOS的产品有30个左右,包括:易信、云音乐、云阅读、公开课、有道云笔记等重量级产品。团队成员包括4位开发,2位测试,1位运维,0.5位项目管理。与公有云对象存储系统的项目团队相比,我们应该算是小团队作战。但是NOS在功能接口方面,与市面上的几家公有对象存储系统基本差不多,甚至为了兼容POSIX文件系统接口,我们还提供了“根据prefix和delimiter列出桶内对象”这样的高级接口。

具体来说,网易NOS云对象存储关键技术包括:

1. 元数据存储组件:DDB

2. 数据存储组件:DFS

3. 列出桶内对象

4. 基于NOS的用户态文件系统

5. 富媒体服务框架

6. 多租户流量隔离

其中,DDB分布式数据库系统(Distributed DataBase)是网易杭研后台技术中心研发的分布式关系数据库平台。它的主要目标是解决以下问题:“海量结构化数据存储”和“高并发高吞吐数据访问”。

而DFS分布式文件系统(Distributed FileSystem)则是网易杭研后台技术中心研发的分布式非结构化数据存储平台。主要负责解决“海量的非结构化数据存储”和“高并发高吞吐数据访问”引发的难题。

网易在DFS方案中采用了分区(Bucket)预留 + 系统生成访问健(Docid)的方式,通过预先规划Bucket(2^24),不立即启用。而且访问键(Docid)也是由系统分配而不是应用程序指定。在增加一个物理节点时,系统会启用一批分区(Bucket)给该物理节点。当系统生成访问健(Docid)时,会使用新分配的分区(Bucket)。

网易云对象存储系统(NOS)提供了互联网上的存储服务,致力于提供高度可伸缩、高可靠的廉价数据存储基础设施,并给开发者提供最大程度的便利。对象存储把用户数据存储为桶里面的对象。对象由文件、描述文件的元数据信息组成。桶是对象的容器,一个用户可以创建多个桶,桶名称全局唯一。用户可以通过简单的REST接口,在任何时间、任何地点、任何互联网设备上进行数据的上传和下载,也可以使用WEB页面对数据进行管理。同时,NOS还提供了Java SDK,简化用户的编程。用户可以基于NOS搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。

猜你喜欢
存储系统网易海量
智珠2则
一种傅里叶域海量数据高速谱聚类方法
分布式存储系统在企业档案管理中的应用
当代青年生活定律
海量快递垃圾正在“围城”——“绿色快递”势在必行
天河超算存储系统在美创佳绩
网易考拉的“一千零一夜”
一个图形所蕴含的“海量”巧题
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统
一种基于STM32的具有断电保护机制的采集存储系统设计