分布式对象存储:原理、架构及Go语言实现

分布式对象存储:原理、架构及Go语言实现
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2018-06
版次: 1
ISBN: 9787115480552
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
89人买过
  •   本书从云存储的需求出发讲述对象存储的原理,循序渐进地建立起一个分布式对象存储的架构,并且将软件实现出来。全书共8章,分别涉及对象存储简介、可扩展分布式系统、元数据服务、数据校验和去重、数据冗余处理、断点续传、数据压缩和数据维护等。本书选择用来实现分布式对象存储软件的编程语言是当前流行的Go语言。 
      本书适合从事云存储方面工作的工程师或架构师,也适合想要学习和实现分布式对象存储的读者。
      胡世杰,上海交通大学毕业,目前在七牛云任职技术专家,是私有云存储服务的负责人。他是分布式对象存储系统专家,在该领域拥有多年的架构、开发和部署经验,精通C、C++、Perl、Python、Ruby、Go等多种编程语言,熟悉ElasticSearch、RabbitMQ等开源软件。除了自己写作,他还致力于技术书籍的翻译,是《JavaScript面向对象精要》《Python和HDF5大数据应用》《Python高性能编程》等图书的译者。
    第 1章 对象存储简介 1 1.1 和传统网络存储的区别 1 1.1.1 数据的管理方式 2 1.1.2 访问数据的方式 2 1.1.3 对象存储的优势 3 1.2 单机版对象存储的架构 4 1.2.1 REST接口 4 1.2.2 对象PUT流程 5 1.2.3 对象GET流程 5 1.3 Go语言实现 6 1.4 功能测试 10 1.5 小结 12 第 2章 可扩展的分布式系统 15 2.1 什么是分布式系统 15 2.2 接口和数据存储分离的架构 16 2.2.1 REST接口 17 2.2.2 RabbitMQ消息设计 18 2.2.3 对象PUT流程 19 2.2.4 对象GET流程 20 2.3 Go语言实现 21 2.3.1 数据服务 21 2.3.2 接口服务 23 2.3.3 rabbitmq包 34 2.4 功能测试 38 2.5 小结 41 第3章 元数据服务 45 3.1 什么是元数据 45 3.1.1 系统定义的元数据 45 3.1.2 用户自定义的元数据 45 3.1.3 散列值和散列函数 46 3.2 加入元数据服务的架构 47 3.2.1 REST接口 48 3.2.2 ES接口 51 3.2.3 对象PUT流程 54 3.2.4 对象GET流程 55 3.3 Go语言实现 55 3.3.1 接口服务 55 3.3.2 es包 63 3.4 功能测试 68 3.5 小结 74 第4章 数据校验和去重 77 4.1 何为去重 77 4.1.1 需要数据校验的原因 78 4.1.2 实现数据校验的方法 79 4.2 给数据服务加入缓存功能 79 4.2.1 数据服务的REST 接口 80 4.2.2 对象PUT流程 80 4.3 Go语言实现 82 4.3.1 接口服务 82 4.3.2 数据服务 87 4.4 功能测试 98 4.5 去重导致的性能问题 101 4.6 小结 102 第5章 数据冗余和即时修复 105 5.1 数据冗余的概念 105 5.1.1 数据丢失和数据 不可用 105 5.1.2 数据冗余 106 5.1.3 对象存储系统的数据 冗余策略 107 5.2 数据冗余的实现 108 5.2.1 REST接口 108 5.2.2 对象PUT流程 108 5.2.3 对象GET流程 109 5.3 Go语言实现 111 5.3.1 接口服务 111 5.3.2 数据服务 126 5.4 功能测试 131 5.5 小结 135 第6章 断点续传 139 6.1 为什么对象存储需要支持 断点续传 139 6.1.1 断点下载流程 139 6.1.2 断点上传流程 140 6.1.3 接口服务的REST 接口 142 6.1.4 数据服务的REST 接口 144 6.2 Go语言实现 145 6.2.1 接口服务 145 6.2.2 数据服务 158 6.3 功能测试 160 6.4 小结 165 第7章 数据压缩 169 7.1 用gzip实现对象存储和下载时的数据压缩 170 7.1.1 存储时的数据压缩 170 7.1.2 下载时的数据压缩 171 7.1.3 接口服务的REST 接口 172 7.2 Go语言实现 172 7.2.1 接口服务 172 7.2.2 数据服务 174 7.3 功能测试 176 7.4 小结 180 第8章 数据维护 183 8.1 对象存储系统的数据维护 工作 183 8.1.1 对象版本留存 183 8.1.2 数据定期检查和 修复 184 8.1.3 数据服务的REST 接口 185 8.2 Go语言实现 185 8.2.1 删除过期元数据 185 8.2.2 删除没有元数据引用的 对象数据 188 8.2.3 对象数据的检查和 修复 191 8.3 功能测试 193 8.4 小结 202 
  • 内容简介:
      本书从云存储的需求出发讲述对象存储的原理,循序渐进地建立起一个分布式对象存储的架构,并且将软件实现出来。全书共8章,分别涉及对象存储简介、可扩展分布式系统、元数据服务、数据校验和去重、数据冗余处理、断点续传、数据压缩和数据维护等。本书选择用来实现分布式对象存储软件的编程语言是当前流行的Go语言。 
      本书适合从事云存储方面工作的工程师或架构师,也适合想要学习和实现分布式对象存储的读者。
  • 作者简介:
      胡世杰,上海交通大学毕业,目前在七牛云任职技术专家,是私有云存储服务的负责人。他是分布式对象存储系统专家,在该领域拥有多年的架构、开发和部署经验,精通C、C++、Perl、Python、Ruby、Go等多种编程语言,熟悉ElasticSearch、RabbitMQ等开源软件。除了自己写作,他还致力于技术书籍的翻译,是《JavaScript面向对象精要》《Python和HDF5大数据应用》《Python高性能编程》等图书的译者。
  • 目录:
    第 1章 对象存储简介 1 1.1 和传统网络存储的区别 1 1.1.1 数据的管理方式 2 1.1.2 访问数据的方式 2 1.1.3 对象存储的优势 3 1.2 单机版对象存储的架构 4 1.2.1 REST接口 4 1.2.2 对象PUT流程 5 1.2.3 对象GET流程 5 1.3 Go语言实现 6 1.4 功能测试 10 1.5 小结 12 第 2章 可扩展的分布式系统 15 2.1 什么是分布式系统 15 2.2 接口和数据存储分离的架构 16 2.2.1 REST接口 17 2.2.2 RabbitMQ消息设计 18 2.2.3 对象PUT流程 19 2.2.4 对象GET流程 20 2.3 Go语言实现 21 2.3.1 数据服务 21 2.3.2 接口服务 23 2.3.3 rabbitmq包 34 2.4 功能测试 38 2.5 小结 41 第3章 元数据服务 45 3.1 什么是元数据 45 3.1.1 系统定义的元数据 45 3.1.2 用户自定义的元数据 45 3.1.3 散列值和散列函数 46 3.2 加入元数据服务的架构 47 3.2.1 REST接口 48 3.2.2 ES接口 51 3.2.3 对象PUT流程 54 3.2.4 对象GET流程 55 3.3 Go语言实现 55 3.3.1 接口服务 55 3.3.2 es包 63 3.4 功能测试 68 3.5 小结 74 第4章 数据校验和去重 77 4.1 何为去重 77 4.1.1 需要数据校验的原因 78 4.1.2 实现数据校验的方法 79 4.2 给数据服务加入缓存功能 79 4.2.1 数据服务的REST 接口 80 4.2.2 对象PUT流程 80 4.3 Go语言实现 82 4.3.1 接口服务 82 4.3.2 数据服务 87 4.4 功能测试 98 4.5 去重导致的性能问题 101 4.6 小结 102 第5章 数据冗余和即时修复 105 5.1 数据冗余的概念 105 5.1.1 数据丢失和数据 不可用 105 5.1.2 数据冗余 106 5.1.3 对象存储系统的数据 冗余策略 107 5.2 数据冗余的实现 108 5.2.1 REST接口 108 5.2.2 对象PUT流程 108 5.2.3 对象GET流程 109 5.3 Go语言实现 111 5.3.1 接口服务 111 5.3.2 数据服务 126 5.4 功能测试 131 5.5 小结 135 第6章 断点续传 139 6.1 为什么对象存储需要支持 断点续传 139 6.1.1 断点下载流程 139 6.1.2 断点上传流程 140 6.1.3 接口服务的REST 接口 142 6.1.4 数据服务的REST 接口 144 6.2 Go语言实现 145 6.2.1 接口服务 145 6.2.2 数据服务 158 6.3 功能测试 160 6.4 小结 165 第7章 数据压缩 169 7.1 用gzip实现对象存储和下载时的数据压缩 170 7.1.1 存储时的数据压缩 170 7.1.2 下载时的数据压缩 171 7.1.3 接口服务的REST 接口 172 7.2 Go语言实现 172 7.2.1 接口服务 172 7.2.2 数据服务 174 7.3 功能测试 176 7.4 小结 180 第8章 数据维护 183 8.1 对象存储系统的数据维护 工作 183 8.1.1 对象版本留存 183 8.1.2 数据定期检查和 修复 184 8.1.3 数据服务的REST 接口 185 8.2 Go语言实现 185 8.2.1 删除过期元数据 185 8.2.2 删除没有元数据引用的 对象数据 188 8.2.3 对象数据的检查和 修复 191 8.3 功能测试 193 8.4 小结 202 
查看详情
相关图书 / 更多
分布式对象存储:原理、架构及Go语言实现
分布式光伏电站项目开发实用手册
姚杰
分布式对象存储:原理、架构及Go语言实现
分布式数据库系统原理(第4版)
帕特里克·瓦尔杜里兹(Patrick Valduriez) 著;范举 译;[德]塔姆尔·厄兹叙(M. Tamer ·zsu)
分布式对象存储:原理、架构及Go语言实现
分布式电源接入电网的继电保护技术
杨国生 李伟 王晓阳 等编著
分布式对象存储:原理、架构及Go语言实现
分布式环境下可信服务计算优化方法研究
张佩云
分布式对象存储:原理、架构及Go语言实现
分布式统一大数据虚拟文件系统——Alluxio原理、技术与实践
顾荣 刘嘉承 毛宝龙 著
分布式对象存储:原理、架构及Go语言实现
分布式协同制造系统及关键技术
朱海华
分布式对象存储:原理、架构及Go语言实现
分布式冷热电联供系统协同集成与主动调控方法研究
冯乐军
分布式对象存储:原理、架构及Go语言实现
分布式标识与数字身份
谢家贵 等
分布式对象存储:原理、架构及Go语言实现
分布式数据库架构设计与实践(5G与AI技术大系)
亚信科技有限公司(中国) 著
分布式对象存储:原理、架构及Go语言实现
分布式供热系统理论及应用
刘学来,舒海静
分布式对象存储:原理、架构及Go语言实现
分布式商业生态战略——数字商业新逻辑与企业数字化转型新策略
思二勋
分布式对象存储:原理、架构及Go语言实现
分布式形态学理论研究
安丰存;赵磊
您可能感兴趣 / 更多
分布式对象存储:原理、架构及Go语言实现
职业病诊断法律制度研究
胡世杰
分布式对象存储:原理、架构及Go语言实现
分布式缓存原理、架构及Go语言实现
胡世杰 著
分布式对象存储:原理、架构及Go语言实现
Python高性能编程
胡世杰、徐旭彬 译;Micha、Gorelick、戈雷利克、Ian、Ozsvald 著