For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
随着互联网的不断发展,越来越多的程序员在开发软件的时候都引入了分布式存储系统的相关技术内容,而本文我们就通过案例分析来简单了解一下,分布式存储系统架构层级分析。
基础存储系统RADOS
Reliable,Autonomic,DistributedObjectStore,即可靠的、自动化的、分布式的对象存储这就是一个完整的对象存储系统,所有存储在Ceph系统中的用户数据事实上终都是由这一层来存储的。而Ceph的高可靠、高可扩展、高性能、高自动化等等特性本质上也是由这一层所提供的。
基础库librado
这层的功能是对RADOS进行抽象和封装,并向上层提供API,以便直接基于RADOS(而不是整个Ceph)进行应用开发。特别要注意的是,RADOS是一个对象存储系统,因此,librados实现的API也只是针对对象存储功能的。RADOS采用C++开发,所提供的原生libradosAPI包括C和C++两种。
高层应用接口
这层包括了三个部分:RADOSGW(RADOSGateway)、RBD(ReliableBlockDevice)和CephFS(CephFileSystem),其作用是在librados库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。其中,RADOSGW是一个提供与AmazonS3和Swift兼容的RESTfulAPI的gateway,以供相应的对象存储应用开发使用。RADOSGW提供的API抽象层次更高,但功能则不如librados强大。
应用层
这层是不同场景下对于Ceph各个应用接口的各种应用方式,例如基于librados直接开发的对象存储应用,基于RADOSGW开发的对象存储应用,基于RBD实现的云硬盘等等。librados和RADOSGW的区别在于,librados提供的是本地API,而RADOSGW提供的则是RESTfulAPI。
由于Swift和S3支持的API功能近似,这里以Swift举例说明。Swift提供的API功能主要包括:
用户管理操作:用户认证、获取账户信息、列出容器列表等;
容器管理操作:创建/删除容器、读取容器信息、列出容器内对象列表等;
对象管理操作:对象的写入、读取、复制、更新、删除、访问许可设置、元数据读取或更新等。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。