買這商品的人也買了...
-
$480$379 -
$620$490 -
$479$455 -
$653實現領域驅動設計 (Implementing Domain-Driven Design)
-
$450$356 -
$301用數據講故事 (Storytelling with Data: A Data Visualization Guide for Business Professionals)
-
$254CoreOS實戰
-
$301分佈式對象存儲 : 原理、架構及 Go語言實現
-
$403雲原生分佈式存儲基石:etcd 深入解析
-
$1,280$998 -
$474$450 -
$352深入淺出Docker
-
$480$408 -
$600$600 -
$980$774 -
$556$523 -
$207算法設計指南, 2/e (The Algorithm Design Manual, 2/e)
-
$520$338 -
$403雲原生:運用容器、函數計算和數據構建下一代應用
-
$520$411 -
$534$507 -
$690$545 -
$980$833 -
$479$455 -
$654$621
相關主題
商品描述
etcd是一個可靠的的分佈式KV存儲,由CoreOS公司開發,其底層使用Raft算法保證一致性,主要用於共享配置和服務發現。本書主要從源碼角度深入剖析etcd,首先介紹etcd的背景知識,並介紹如何搭建起源碼環境以及相關的命令。然後從基本的Raft協議開始介紹,幫助讀者瞭解Raft協議的背景。接著分析etcd-raft模塊對Raft協議的實現,etcd-raft模塊是etcd的核心模塊之一,該模塊也被很多其他的項目中直接作為Raft協議的底層實現。然後介紹Http編程基礎以及etcd-rafthttp模塊的工作原理和具體實現,介紹etcd中如何處理WAL日誌文件以及快照數據文件,詳細分析了etcd的底層存儲。最後重點介紹etcd服務端和etcd客戶端的相關內容。
作者簡介
2015至今,負責XS雲平台的基礎架構設計及研發工作,XS雲平台以Kafka為消息總線,收集用戶產生操作日誌,為後台多個數據分析平台提供數據源。
目錄大綱
第1章etcd入門
1.1 etcd簡介
1.2數據模型
1.3環境搭建
1.3.1環境變量
1.3.2代碼結構
1.3.3運行
本章小結
第2章Raft協議
2.1 Leader選舉
2.2日誌複製
2.3網絡分區的場景
2.4日誌壓縮與快照
2.5其他技術點
2.5.1 linearizable語義
2.5.2只讀請求
2.5.3 PreVote狀態
2.5.4 Leader節點轉移
本章小結
第3章etcd-raft模塊詳解
3.1 raft結構體
3.1.1 Config結構體
3.1. 2 Storage接口及其實現
3.1.3 unstable結構體
3.1.4 raftLog結構體
3.1.5 raft實現
3.2 Node接口
3.2.1 node結構體
3.2.2初始化
3.2.3 run()方法
3.2.4 Node接口實現
3.3 raftexample示例分析
3.3.1 raftNode
3.3.2 HTTP服務端
3.3.3 kvstore
本章小結
第4章網絡層
4.1 Go語言網絡編程基礎
4.1.1 http.Server
4.1.2 RoundTripper
4.2 etcd-rafthttp模塊詳解
4.2.1 rafthttp.Transporter接口
4.2.2 Peer接口
4.2.3 pipeline
4.2.4 streamWriter實例
4.2.5 streamReader實例
4.2.6 snapshotSender
4.3 Handler實例
4.3.1 pipelineHandler
4.3.2 streamHandler
4.3.3 snapshotHandler
本章小結
第5章WAL日誌與快照
5.1 WAL日誌
5.1.1初始化
5.1.2打開日誌
5.1.3讀取日誌
5.1.4追加日誌
5.1.5文件切換
5.2 SnapShotter
本章小結
第6章storage
6.1 etcd v2版本存儲
6.1.1 node
6.1.2 Event
6.1.3 watcher和watcherHub
6.1.4 store
6.2 etcd v3版本存儲
6.2.1 backend
6.2.2 watcher機制
6.2.3 Lessor
本章小結
第7章etcd-server詳解
7.1 raftNode結構體
7.2 RaftCluster
7.3 EtcdServer
7.3.1初始化
7.3 .2註冊Handler
7.3.3啟動
7.4 ApplierV2和applierV3
7.4.1 ApplierV2
7.4.2 applierV3
7.5 AlarmStore
本章小結
第8章etcd客戶端詳解
8.1 GRPC基礎
8.1.1定義proto文件
8.1.2服務端
8.1.3創建客戶端
8.2 Client v3
8.2.1 kvServer
8.2.2 EtcdServer
8.2.3 Client
8.3 Client v2
8.3.1 KeysAPI接口
8.3.2 httpClient接口
本章小結
參考文獻