据了解,大会邀请了来自百度、腾讯、阿里巴巴、京东等知名互联网企业与传统行业的资深架构师,分享云架构实践与解析、大数据架构及应用、自动化运维、高性能高可用网络架构设计、互联网存储架构优化、构建全新数据中心、互联网金融及风险防范、移动平台架构设计、高效电商系统构建、全栈工程师实践等主题的最新技术实践。
在大会第二天的”面向互联网的存储架构优化”专场上,网易云对象存储系统构架师来东敏先生为大家带来了题为《NOS(网易对象云存储)关键技术解析》的主题演讲。
他首先介绍说,网易云对象存储,即NetEase Object Storage(NOS)是一个海量的Key-Value系统。其中,Key最大支持1K字节;Value最大支持1TB进制文件,如图片、视频等静态文件;Attribute则最多有10个键值对。
来东敏透露,目前整个网易云对象存储系统(NOS)主要分为“接入、缓存、逻辑、存储”四个层次。
1.接入层:使用Openresty(类似Tengine),其强大的Nginx Lua模块实现了桶粒度实时流量统计、流量隔离等功能;另外,使用Nginx Lua写了部分适合在接入层实现的逻辑;
2.缓存层:使用TrafficServer,这是一款专业的缓存服务器,我们测试发现其无论在稳定性还是功能和性能上,都比Squid靠谱;我们用它实现热点数据以及富媒体处理后的临时数据缓存;
3.逻辑层:使用Tomcat实现对象存储主要的业务逻辑,由于Tomcat众所周知的在高并发上的短板,我们正在积极探索,计划使用Netty来替换Tomcat;
4.存储层:是对象存储系统的基石,NOS构建在网易分布式文件系统(DFS)和网易分布式数据库(DDB)之上,DFS做数据存储,而DDB则存储元数据;
据悉,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搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。
转载自IT168:http://storage.it168.com/a2014/0919/1667/000001667937.shtml