注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡家庭與辦公軟件分布式對象存儲:原理、架構及Go語言實現(xiàn)

分布式對象存儲:原理、架構及Go語言實現(xiàn)

分布式對象存儲:原理、架構及Go語言實現(xiàn)

定 價:¥59.00

作 者: 胡世杰 著
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

ISBN: 9787115480552 出版時間: 2018-06-01 包裝: 平裝
開本: 16開 頁數(shù): 字數(shù):  

內容簡介

  本書從云存儲的需求出發(fā)講述對象存儲的原理,循序漸進地建立起一個分布式對象存儲的架構,并且將軟件實現(xiàn)出來。全書共8章,分別涉及對象存儲簡介、可擴展分布式系統(tǒng)、元數(shù)據(jù)服務、數(shù)據(jù)校驗和去重、數(shù)據(jù)冗余處理、斷點續(xù)傳、數(shù)據(jù)壓縮和數(shù)據(jù)維護等。本書選擇用來實現(xiàn)分布式對象存儲軟件的編程語言是當前流行的Go語言。 本書適合從事云存儲方面工作的工程師或架構師,也適合想要學習和實現(xiàn)分布式對象存儲的讀者。

作者簡介

  胡世杰,上海交通大學畢業(yè),目前在七牛云任職技術專家,是私有云存儲服務的負責人。他是分布式對象存儲系統(tǒng)專家,在該領域擁有多年的架構、開發(fā)和部署經(jīng)驗,精通C、C++、Perl、Python、Ruby、Go等多種編程語言,熟悉ElasticSearch、RabbitMQ等開源軟件。除了自己寫作,他還致力于技術書籍的翻譯,是《JavaScript面向對象精要》《Python和HDF5大數(shù)據(jù)應用》《Python高性能編程》等圖書的譯者。

圖書目錄

第 1章 對象存儲簡介 1
1.1 和傳統(tǒng)網(wǎng)絡存儲的區(qū)別 1
1.1.1 數(shù)據(jù)的管理方式 2
1.1.2 訪問數(shù)據(jù)的方式 2
1.1.3 對象存儲的優(yōu)勢 3
1.2 單機版對象存儲的架構 4
1.2.1 REST接口 4
1.2.2 對象PUT流程 5
1.2.3 對象GET流程 5
1.3 Go語言實現(xiàn) 6
1.4 功能測試 10
1.5 小結 12
第 2章 可擴展的分布式系統(tǒng) 15
2.1 什么是分布式系統(tǒng) 15
2.2 接口和數(shù)據(jù)存儲分離的架構 16
2.2.1 REST接口 17
2.2.2 RabbitMQ消息設計 18
2.2.3 對象PUT流程 19
2.2.4 對象GET流程 20
2.3 Go語言實現(xiàn) 21
2.3.1 數(shù)據(jù)服務 21
2.3.2 接口服務 23
2.3.3 rabbitmq包 34
2.4 功能測試 38
2.5 小結 41
第3章 元數(shù)據(jù)服務 45
3.1 什么是元數(shù)據(jù) 45
3.1.1 系統(tǒng)定義的元數(shù)據(jù) 45
3.1.2 用戶自定義的元數(shù)據(jù) 45
3.1.3 散列值和散列函數(shù) 46
3.2 加入元數(shù)據(jù)服務的架構 47
3.2.1 REST接口 48
3.2.2 ES接口 51
3.2.3 對象PUT流程 54
3.2.4 對象GET流程 55
3.3 Go語言實現(xiàn) 55
3.3.1 接口服務 55
3.3.2 es包 63
3.4 功能測試 68
3.5 小結 74
第4章 數(shù)據(jù)校驗和去重 77
4.1 何為去重 77
4.1.1 需要數(shù)據(jù)校驗的原因 78
4.1.2 實現(xiàn)數(shù)據(jù)校驗的方法 79
4.2 給數(shù)據(jù)服務加入緩存功能 79
4.2.1 數(shù)據(jù)服務的REST
接口 80
4.2.2 對象PUT流程 80
4.3 Go語言實現(xiàn) 82
4.3.1 接口服務 82
4.3.2 數(shù)據(jù)服務 87
4.4 功能測試 98
4.5 去重導致的性能問題 101
4.6 小結 102
第5章 數(shù)據(jù)冗余和即時修復 105
5.1 數(shù)據(jù)冗余的概念 105
5.1.1 數(shù)據(jù)丟失和數(shù)據(jù)
不可用 105
5.1.2 數(shù)據(jù)冗余 106
5.1.3 對象存儲系統(tǒng)的數(shù)據(jù)
冗余策略 107
5.2 數(shù)據(jù)冗余的實現(xiàn) 108
5.2.1 REST接口 108
5.2.2 對象PUT流程 108
5.2.3 對象GET流程 109
5.3 Go語言實現(xiàn) 111
5.3.1 接口服務 111
5.3.2 數(shù)據(jù)服務 126
5.4 功能測試 131
5.5 小結 135
第6章 斷點續(xù)傳 139
6.1 為什么對象存儲需要支持
斷點續(xù)傳 139
6.1.1 斷點下載流程 139
6.1.2 斷點上傳流程 140
6.1.3 接口服務的REST
接口 142
6.1.4 數(shù)據(jù)服務的REST
接口 144
6.2 Go語言實現(xiàn) 145
6.2.1 接口服務 145
6.2.2 數(shù)據(jù)服務 158
6.3 功能測試 160
6.4 小結 165
第7章 數(shù)據(jù)壓縮 169
7.1 用gzip實現(xiàn)對象存儲和下載時的數(shù)據(jù)壓縮 170
7.1.1 存儲時的數(shù)據(jù)壓縮 170
7.1.2 下載時的數(shù)據(jù)壓縮 171
7.1.3 接口服務的REST
接口 172
7.2 Go語言實現(xiàn) 172
7.2.1 接口服務 172
7.2.2 數(shù)據(jù)服務 174
7.3 功能測試 176
7.4 小結 180
第8章 數(shù)據(jù)維護 183
8.1 對象存儲系統(tǒng)的數(shù)據(jù)維護
工作 183
8.1.1 對象版本留存 183
8.1.2 數(shù)據(jù)定期檢查和
修復 184
8.1.3 數(shù)據(jù)服務的REST
接口 185
8.2 Go語言實現(xiàn) 185
8.2.1 刪除過期元數(shù)據(jù) 185
8.2.2 刪除沒有元數(shù)據(jù)引用的
對象數(shù)據(jù) 188
8.2.3 對象數(shù)據(jù)的檢查和
修復 191
8.3 功能測試 193
8.4 小結 202

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號