中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >
深入理解分布式系統

包郵 深入理解分布式系統

作者:唐偉志
出版社:電子工業出版社出版時間:2022-03-01
開本: 16開 頁數: 316
中 圖 價:¥77.8(7.2折) 定價  ¥108.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

深入理解分布式系統 版權信息

  • ISBN:9787121428111
  • 條形碼:9787121428111 ; 978-7-121-42811-1
  • 裝幀:80g膠版紙
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>

深入理解分布式系統 本書特色

適讀人群 :本書適合對分布式感興趣的讀者面向初學者:通過理論和實踐結合的方式介紹分布式系統,幫助讀者夯實分布式基礎知識; 面向實踐者:實現簡單的Paxos共識算法,分析HDFS、ZooKeeper、etcd、Kubernetes等分布式系統案例。

深入理解分布式系統 內容簡介

《深入理解分布式系統》主要講解分布式系統常用的基礎知識、算法和案例,經筆者對文獻海洋中晦澀艱深的原理和算法進行提煉,輔以圖示和代碼,并結合實際經驗進行分析總結而成。通過閱讀本書,讀者可以快速、輕松地掌握分布式系統的基本原理,以及Paxos或Raft共識算法,并通過典型的案例學習如何設計大型分布式系統。 《深入理解分布式系統》首先介紹什么是分布式系統、分布式系統帶來的挑戰,以及如何對分布式系統進行建模,這部分內容偏向概念性介紹。接著介紹了分布式數據的基礎知識,包括數據分區技術、數據復制技術、CAP定理、一致性模型和隔離級別,嘗試厘清一些十分容易混淆的術語,比如一致性、線性一致性、*終一致性和一致性算法等。本書還介紹了分布式系統的核心算法——Paxos和Raft算法,不僅補充了大量圖示進行講解,還從零實現了一個Paxos算法。此外,本書分析了常見的分布式事務,并討論了分布式系統中的時間問題,整理了一些實際發生的編程陷阱。*后結合一些對工業界產生重大影響的論文或開源系統,學習前人在設計大型分布式系統時的思路、取舍和創新。

深入理解分布式系統 目錄

第1章 認識分布式系統 1.1 什么是分布式系統 1.2 為什么需要分布式系統 1.3 分布式系統的示例 1.3.1 搜索引擎 1.3.2 加密貨幣 1.4 分布式系統的挑戰 1.4.1 網絡延遲問題 1.4.2 部分失效問題 1.4.3 時鐘問題 1.5 每個程序員都應該知道的數字 1.6 本章小結 第2章 分布式系統模型 2.1 兩將軍問題 2.2 拜占庭將軍問題 2.3 系統模型 2.3.1 網絡鏈路模型 2.3.2 節點故障類型 2.3.3 按時間劃分系統模型 2.4 消息傳遞語義 2.5 本章小結 第3章 分布式數據基礎 3.1 分區 3.1.1 水平分區算法 3.1.2 分區的挑戰 3.2 復制 3.2.1 單主復制 3.2.2 多主復制 3.2.3 無主復制 3.3 CAP定理 3.3.1 PACELC定理 3.3.2 BASE 3.4 一致性模型 3.4.1 線性一致性 3.4.2 實現線性一致性 3.4.3 線性一致性的代價 3.4.4 順序一致性 3.4.5 因果一致性 3.4.6 *終一致性 3.4.7 以客戶端為中心的一致性模型 3.5 隔離級別 3.6 一致性和隔離級別的對比 3.7 本章小結 第4章 分布式共識 4.1 分布式共識簡介 4.1.1 什么是分布式共識 4.1.2 為什么要達成共識 4.2 異步系統中的共識 4.2.1 FLP不可能定理 4.2.2 故障屏蔽 4.2.3 使用故障檢測器 4.2.4 使用隨機性算法 4.3 同步系統中的共識 4.4 Paxos 4.4.1 基本概念 4.4.2 問題描述 4.4.3 Paxos算法實現流程 4.4.4 案例 4.4.5 活鎖 4.5 實驗:使用Go語言實現Paxos共識算法 4.5.1 定義相關結構體 4.5.2 定義消息結構體 4.5.3 算法實現流程 4.5.4 學習提案 4.5.5 實現單元測試 4.6 Multi-Paxos 4.6.1 確定日志索引 4.6.2 領導者選舉 4.6.3 減少請求 4.6.4 副本的完整性 4.6.5 客戶端請求 4.6.6 配置變更 4.6.7 完整實現 4.6.8 Paxos練習題 4.7 其他Paxos變體 4.7.1 Disk Paxos 4.7.2 Cheap Paxos 4.7.3 Fast Paxos 4.7.4 Mencius 4.7.5 EPaxos 4.7.6 Flexible Paxos 4.7.7 WPaxos 4.7.8 CASPaxos 4.7.9 其他 4.8 Raft算法 4.8.1 系統模型 4.8.2 基本概念 4.8.3 領導者選舉 4.8.4 日志復制 4.8.5 領導者更替 4.8.6 選舉限制舉例 4.8.7 延遲提交之前任期的日志條目 4.8.8 清理不一致的日志 4.8.9 處理舊領導者 4.8.10 客戶端協議 4.8.11 實現線性一致性 4.8.12 配置變更 4.8.13 配置變更存在的Bug 4.8.14 極端情況下的活性問題 4.8.15 日志壓縮 4.8.16 基于內存的狀態機的快照 4.8.17 基于磁盤的狀態機的快照 4.8.18 性能優化 4.8.19 Raft練習題 4.9 Paxos vs Raft 4.10 拜占庭容錯和PBFT算法 4.11 本章小結 第5章 分布式事務 5.1 什么是分布式事務 5.2 原子提交 5.2.1 兩階段提交 5.2.2 三階段提交 5.2.3 Paxos提交算法 5.2.4 基于Quorum的提交協議 5.2.5 Saga事務 5.3 并發控制 5.3.1 兩階段鎖 5.3.2 樂觀并發控制 5.3.3 多版本并發控制 5.4 Percolator 5.5 本章小結 第6章 時間和事件順序 6.1 物理時鐘 6.2 時鐘同步 6.3 邏輯時鐘 6.4 向量時鐘 6.5 分布式快照 6.6 本章小結 第7章 案例研究 7.1 分布式文件系統 7.1.1 GFS的目標 7.1.2 架構 7.1.3 讀取文件 7.1.4 寫入文件 7.1.5 一致性模型 7.1.6 其他 7.2 分布式協調服務 7.2.1 ZooKeeper架構 7.2.2 數據模型 7.2.3 ZooKeeper實現 7.2.4 客戶端API 7.2.5 其他 7.3 分布式表格存儲Bigtable 7.3.1 數據模型 7.3.2 架構 7.3.3 SSTable和LSM Tree 7.3.4 其他優化 7.4 分布式鍵值存儲Dynamo 7.4.1 架構 7.4.2 請求協調 7.4.3 成員管理和故障檢測 7.5 分布式NoSQL數據庫Cassandra 7.5.1 數據模型 7.5.2 架構 7.5.3 協調請求 7.5.4 一致性級別 7.5.5 輕量級事務 7.5.6 二級索引 7.5.7 批處理 7.6 分布式數據庫Spanner 7.6.1 數據模型 7.6.2 架構 7.6.3 TrueTime 7.6.4 讀寫事務 7.6.5 只讀事務 7.6.6 快照讀和模式變更事務 7.7 分布式批處理 7.7.1 MapReduce 7.7.2 Spark 7.8 分布式流處理框架Flink 7.8.1 計算模型 7.8.2 系統架構 7.8.3 時間處理 7.8.4 分布式快照 7.8.5 端到端的精確一次語義 7.9 本章小結
展開全部

深入理解分布式系統 節選

原子提交在分布式領域更普遍地被稱為提交問題(The Commit Problem)。 事務的一大好處就是保證了原子性,所有的操作要么都執行,要么都不執行(All Or Nothing)。原子性可以說是事務*重要的特性,軟件開發人員依靠事務的原子性,能夠安全地將一系列相關的、不可分割的操作組合成一個整體,實現許多業務需求。 但保證原子性并非易事—不僅僅是在分布式系統中,在單機系統中亦如此。原因是原子性涉及了硬件和軟件,而兩者都可能出現意外故障。即使是向文件中寫入一些簡單的字節,也需要額外的工作來保證寫入的原子性,保證即使硬盤在執行寫入操作的時候出現故障,文件也不會被損壞。 我們先簡單回顧單機事務的原子性的實現。 常見的機械磁盤一般可以保證512字節的原子寫,所謂原子寫也就是說,即便遭遇突然斷電等意外情況,一般的機械磁盤也可以保證當前512字節的成功寫入;如果寫入的數據大于512字節,則原子寫得不到保障。 為了在更通用的情況下實現原子性,常見方法是使用日志或WAL這類技術。簡單地說,先將操作的元數據寫入一個單獨的日志文件,同時還有表示操作是否完成的標記。倘若系統在寫入過程中發生故障,那么基于這些數據,系統恢復后依然能夠識別出哪些操作在故障發生前已完成,然后通過撤銷所有的操作來回滾事務;或者通過完成剩余未執行的操作來繼續提交事務。基于硬盤原子寫和日志文件來實現事務原子性的方法,在文件系統和數據庫中廣泛使用。 但分布式系統中的原子性問題更加復雜,因為節點分布在不可靠的網絡中。此外,我們不僅需要確保一個操作在一個節點上的原子性,還要確保一個操作在多個節點上的原子性,也就是說,操作要么在所有的節點上都生效,要么不在任何一個節點上生效,每個節點提交或中止事務的操作要保持一致。 我們還是用銀行轉賬來舉例。假設一個分布式系統中的兩臺服務器,用戶A的賬戶余額存儲在服務器N1上,用戶B的賬戶余額存儲在服務器N2上,他們的賬戶上都有100元。 接下來用戶A要轉賬10元給用戶B,事務需要同時修改用戶A和用戶B的數據。假設事務先給服務器N2上用戶B的賬戶加上10元,再給服務器N1上用戶A的賬戶減去10元。由于數據分布在兩臺完全不同的服務器上,很可能出現一些意想不到的故障,可能在給用戶B的賬戶加上10元后,服務器N1宕機了,無法對用戶A扣錢;甚至服務器沒有宕機也可能觸發異常,例如可能在請求服務器N1的時候發現用戶A的賬戶余額已經不足10元了,不能再對用戶A的賬戶減去10元(數據庫約束賬戶不能為負數)。不管怎樣,服務器N1沒有完成它在事務中的那部分工作,但服務器N2又完成了它的任務。 分布式事務的原子性通過原子提交協議(Atomic Commit Protocol,ACP)來實現,原子提交協議也叫原子提交算法,原子提交協議必須滿足以下三個特性: ?? 協定性(Agreement)。所有進程都決議出同一個值,相當于所有進程要么一起提交事務,要么一起中止事務,不存在兩個進程一個提交事務另一個中止事務的情況。 ?? 有效性(Validity)。如果所有進程都決定提交事務并且沒有任何故障發生,那么*終整個系統將提交事務;只要有一個進程決定中止事務,系統*終將中止事務。 ?? 終止性(Termination)。終止性又分為弱終止條件(Weak Termination Condition)和強終止條件(Strong Termination Condition)。弱終止條件是指,如果沒有任何故障發生,那么所有進程*終都會做出決議(提交或終止事務);強終止條件也稱為非阻塞條件(Non-Blocking Condition),是指沒有發生故障的進程*終會做出決議。 滿足強終止條件的提交算法被稱作非阻塞提交算法,而滿足弱終止條件但不滿足強終止條件的提交算法被稱作阻塞提交算法。值得注意的是,協定性約束了兩個進程不能決議出不同的值,因此,原子提交協議嚴格不允許一個出錯的進程和一個正確的進程做出不同的決定。如果一個進程出錯一段時間后又恢復,則會導致提交算法出現不一致。 其實從這三個特性可以看出,原子提交協議實際上解決了分布式共識問題(見第4章)的一個子類,即對事務的提交或中止達成共識。

深入理解分布式系統 作者簡介

唐偉志,曾任網易游戲、騰訊基礎架構工程師。畢業后一直從事分布式系統相關工作,在知乎和公眾號“多顆糖”上分享對分布式系統論文的解讀和算法的講解。開源愛好者、TiDB Reviewer和Kubernetes Contributor。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 利浦顿蒸汽发生器厂家-电蒸汽发生器/燃气蒸汽发生器_湖北利浦顿热能科技有限公司官网 | 隔爆型防爆端子分线箱_防爆空气开关箱|依客思 | 样品瓶(色谱样品瓶)百科-浙江哈迈科技有限公司 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 宜兴市恺瑞德环保科技有限公司| 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 螺旋叶片_螺旋叶片成型机_绞龙叶片_莱州源泽机械制造有限公司 | 课件导航网_ppt课件_课件模板_课件下载_最新课件资源分享发布平台 | 字典-新华字典-在线字典查字-字典趣| 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 二手注塑机回收_旧注塑机回收_二手注塑机买卖 - 大鑫二手注塑机 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 河北凯普威医疗器材有限公司,高档轮椅系列,推车系列,座厕椅系列,协步椅系列,拐扙系列,卫浴系列 | 公交驾校-北京公交驾校欢迎您! 工作心得_读书心得_学习心得_找心得体会范文就上学道文库 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 地磅-地秤-江阴/无锡地磅-江阴天亿计量设备有限公司_ | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 专业的新乡振动筛厂家-振动筛品质保障-环保振动筛价格—新乡市德科筛分机械有限公司 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 泉州陶瓷pc砖_园林景观砖厂家_石英砖地铺石价格 _福建暴风石英砖 | 求是网 - 思想建党 理论强党 | 活动策划,舞台搭建,活动策划公司-首选美湖上海活动策划公司 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 中细软知识产权_专业知识产权解决方案提供商 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 沙盘模型公司_沙盘模型制作公司_建筑模型公司_工业机械模型制作厂家 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] | 电动百叶窗,开窗器,电动遮阳百叶,电动开窗机生产厂家-徐州鑫友工控科技发展有限公司 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 济南货架定做_仓储货架生产厂_重型货架厂_仓库货架批发_济南启力仓储设备有限公司 | 小型UV打印机-UV平板打印机-大型uv打印机-UV打印机源头厂家 |松普集团 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 台式恒温摇床价格_大容量恒温摇床厂家-上海量壹科学仪器有限公司 | 天坛家具官网 | STRO|DTRO-STRO反渗透膜(科普)_碟滤| 油缸定制-液压油缸厂家-无锡大鸿液压气动成套有限公司 |