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

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

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

定 價:¥59.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第 1章 對象存儲簡介 1
1.1 和傳統(tǒng)網(wǎng)絡(luò)存儲的區(qū)別 1
1.1.1 數(shù)據(jù)的管理方式 2
1.1.2 訪問數(shù)據(jù)的方式 2
1.1.3 對象存儲的優(yōu)勢 3
1.2 單機(jī)版對象存儲的架構(gòu) 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 小結(jié) 12
第 2章 可擴(kuò)展的分布式系統(tǒng) 15
2.1 什么是分布式系統(tǒng) 15
2.2 接口和數(shù)據(jù)存儲分離的架構(gòu) 16
2.2.1 REST接口 17
2.2.2 RabbitMQ消息設(shè)計 18
2.2.3 對象PUT流程 19
2.2.4 對象GET流程 20
2.3 Go語言實現(xiàn) 21
2.3.1 數(shù)據(jù)服務(wù) 21
2.3.2 接口服務(wù) 23
2.3.3 rabbitmq包 34
2.4 功能測試 38
2.5 小結(jié) 41
第3章 元數(shù)據(jù)服務(wù) 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ù)服務(wù)的架構(gòu) 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 接口服務(wù) 55
3.3.2 es包 63
3.4 功能測試 68
3.5 小結(jié) 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ù)服務(wù)加入緩存功能 79
4.2.1 數(shù)據(jù)服務(wù)的REST
接口 80
4.2.2 對象PUT流程 80
4.3 Go語言實現(xiàn) 82
4.3.1 接口服務(wù) 82
4.3.2 數(shù)據(jù)服務(wù) 87
4.4 功能測試 98
4.5 去重導(dǎo)致的性能問題 101
4.6 小結(jié) 102
第5章 數(shù)據(jù)冗余和即時修復(fù) 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 接口服務(wù) 111
5.3.2 數(shù)據(jù)服務(wù) 126
5.4 功能測試 131
5.5 小結(jié) 135
第6章 斷點(diǎn)續(xù)傳 139
6.1 為什么對象存儲需要支持
斷點(diǎn)續(xù)傳 139
6.1.1 斷點(diǎn)下載流程 139
6.1.2 斷點(diǎn)上傳流程 140
6.1.3 接口服務(wù)的REST
接口 142
6.1.4 數(shù)據(jù)服務(wù)的REST
接口 144
6.2 Go語言實現(xiàn) 145
6.2.1 接口服務(wù) 145
6.2.2 數(shù)據(jù)服務(wù) 158
6.3 功能測試 160
6.4 小結(jié) 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 接口服務(wù)的REST
接口 172
7.2 Go語言實現(xiàn) 172
7.2.1 接口服務(wù) 172
7.2.2 數(shù)據(jù)服務(wù) 174
7.3 功能測試 176
7.4 小結(jié) 180
第8章 數(shù)據(jù)維護(hù) 183
8.1 對象存儲系統(tǒng)的數(shù)據(jù)維護(hù)
工作 183
8.1.1 對象版本留存 183
8.1.2 數(shù)據(jù)定期檢查和
修復(fù) 184
8.1.3 數(shù)據(jù)服務(wù)的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ù)的檢查和
修復(fù) 191
8.3 功能測試 193
8.4 小結(jié) 202

本目錄推薦

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