构建可靠的S3服务

S3服务基础

AWS S3是亚马逊推出的海量、安全、低成本、高可靠的对象存储服务,相对于块设备服务或者文件系统服务,对象存储提供简单的RESTful接口来存取中小型文件。

对象存储的基本单元是对象,一个对象等价于一个1KB到5GB的文件,用户只需上传对象内容,由底层平台负责多备份存储,其中对象还包含元数据和ACL(Access Control List),不同用户的对象通过桶进行逻辑划分。得益于AWS优秀的系统架构,S3提供了高达99.999999999%(11个9)的数据持久性,可以认为存在S3上的数据是不会丢的,是非常理想的存储后端之一。

对象存储服务对比

对象存储近年来得到越来越广泛的关注,Rackspace与NASA和合作并开源了Swift存储系统,阿里云、华为云、百度云以及小米基础架构也自研推出各自的对象存储服务。考虑到分布式存储的复杂性,中小型团队要搭建自己的对象存储服务相对不容易,各家云服务提供商的对象存储也尽然不同,业务在使用S3后迁移其他云平台也相当困难。

由于S3并没有开源计划,用户在使用S3前只能花钱进行功能测试与性能测试,除了AWS我们甚至无法模拟服务故障的情况,对企业级应用是个极大的隐患。

说了这么多,我们还是无法在本地运行S3服务啊,不用着急,因为开源社区已经有成熟的对象存储解决方案了,并且提供S3兼容的接口,让你在5分钟内快速启动对象存储服务。

搭建本地S3服务

接下来介绍今天的主角ceph,ceph是开源的统一存储系统,所谓统一存储系统,就是通过底层的分布式技术同时对外提供块设备存储、对象存储以及文件系统服务。其中ceph的对象存储服务兼容S3接口和Swift接口,你可以直接使用S3的命令行工具或者SDK直接访问ceph对象存储服务。

ceph的部署也并不困难,只需要普通服务器甚至是在你的笔记本上也可以运行,如果你安装了docker,只要5分钟你就可以在本地快速启动S3服务进行开发和测试了。详细的教程建议观看我们的演示视频《Build S3 service locally》,具体命令参见下面的博客。

http://chendihao.cn/build-s3-service-locally/

对象存储的未来与挑战

在可预见的未来,对象存储仍是大中小企业所必须的基础服务之一,构建本地S3服务可以为用户提供快速的开发和测试环境。Ceph开发至今已超过十年,为OpenStack社区提供了稳定的块设备存储服务,ustack作为2014年全球Ceph贡献排行榜第二的公司(第一是Ceph母公司Redhat),将基于Ceph与RGW提供稳定、易用的对象存储服务。

AWS S3的流行并不意味着它的复杂,借用计算机巨擘的一句话,"There is no magic in computer science"。可靠的“S3”服务,你值得拥有 :)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • https://aws.amazon.com/cn/s3/faqs/#sia_anchor Amazon Simp...
    守望者_1065阅读 8,333评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 第一章 OpenStack基础 OpenStack管理的资源及提供的服务OpenStack做为一个操作系统,...
    sgt_tiger阅读 12,988评论 4 72
  • ceph简介 Ceph是一个分布式存储系统,诞生于2004年,是最早致力于开发下一代高性能分布式文件系统的项目。随...
    爱吃土豆的程序猿阅读 6,070评论 0 21
  • 原因:2017年4月14日 星期五 学习记录。说明:整理ceph资料。我的博客 : http://minichao...
    nicocoi阅读 8,230评论 1 9