《大規模分布式系統架構與設計實戰》

《大規模分布式系統架構與設計實戰》

基本信息

作者: 彭淵???

叢書名: 大數據技術叢書

出版社:機械工業出版社

ISBN:9787111455035

上架時間:2014-2-21

出版日期:2014 年2月

開本:16開

頁碼:1

版次:1-1

所屬分類:計算機 > 操作系統 > 操作系統理論 > 分布式操作系統

?

更多關于》》》《大規模分布式系統架構與設計實戰》

?

內容簡介

??? 書籍

??? 計算機書籍

  《大規模分布式系統架構與設計實戰》是作者從程序員到首席架構師十多年職業生涯的實戰經驗總結,系統講解構建大規模分布式系統的核心技術與實現方法,包含作者開源的fourinone系統的設計與實現過程,手把手教你掌握分布式技術。通過學習這個系統的實現方法與相關的理論,讀者可快速掌握分布式系統的理論并設計自己的分布式系統。

  《大規模分布式系統架構與設計實戰》從分布式計算的基本概念開始,解剖了眾多流行概念的本質,深入講解分布式系統的基本原理與實現方式,包括master-slave結構、消息中樞模式、網狀直接交互模式、并行結合串行模式等,以及fourinone系統的架構、實現分布式功能的示例。接下來詳細介紹分布式協調、分布式緩存、消息隊列、分布式文件系統、分布式作業調度平臺的設計與實現方法,不僅包括詳細的架構原理、算法,還給出了實現步驟、核心api、實現代碼。隨書附帶的光盤包括書中示例代碼以及fourinone系統源代碼。

?

?

目錄

《大規模分布式系統架構與設計實戰》

前 言

第1章 概述 1

1.1 分布式計算、并行計算、云計算概述 1

1.2 分布式產品hadoop、zookeeper、hbase概述 6

1.3 fourinone的產生背景 12

第2章 分布式并行計算的原理與實踐 14

2.1 分布式并行計算模式 14

2.1.1 最初想到的master-slave結構 14

2.1.2 “包工頭-職介所-手工倉庫-工人”模式 15

2.1.3 基于消息中樞的計算模式 17

2.1.4 基于網狀直接交互的計算模式 18

2.1.5 并行結合串行模式 22

2.1.6 包工頭內部批量多階段處理模式 23

2.1.7 計算集群模式和兼容遺留計算系統 24

2.1.8 工人計算的服務化模式 26

2.2 跟hadoop的區別 28

2.3 關于分布式的一些概念與產品 30

2.4 配置文件和核心api介紹 35

2.5 實踐與應用 36

2.5.1 一個簡單的示例 36

2.5.2 工頭工人計算模式更完整的示例 39

2.5.3 工人合并互相say hello的示例 44

2.5.4 實現hadoop經典實例word count 48

2.5.5 分布式多機部署的示例 52

2.5.6 分布式計算自動部署的示例 53

2.5.7 計算過程中的故障和容災處理 57

2.5.8 計算過程中的相關時間屬性設置 60

2.5.9 如何在一臺計算機上一次性啟動多個進程 63

2.5.10 如何調用c/c++程序實現 68

2.5.11 如何中止工人計算和超時中止 68

2.5.12 使用并行計算大幅提升遞歸算法效率 73

2.5.13 使用并行計算求圓周率π 81

2.5.14 從賭錢游戲看pagerank算法 86

2.5.15 使用并行計算實現上億排序 96

2.5.16 工人服務化模式應用示例 104

2.6 實時流計算 107

第3章 分布式協調的實現 111

3.1 協調架構原理簡介 111

3.2 核心api 113

3.3 權限機制 115

3.4 相對于zookeeper的區別 116

3.5 與paxos算法的區別 117

3.6 實踐與應用 119

3.6.1 如何實現公共配置管理 119

3.6.2 如何實現分布式鎖 126

3.6.3 如何實現集群管理 129

3.6.4 多節點權限操作示例 134

3.6.5 領導者選舉相關屬性設置 137

第4章 分布式緩存的實現 139

4.1 小型網站或企業應用的緩存實現架構 139

4.2 大型分布式緩存系統實現過程 140

4.3 一致性哈希算法的原理、改進和實現 147

4.4 解決任意擴容的問題 152

4.5 解決擴容后數據均勻的問題 153

4.6 分布式session的架構設計和實現 154

4.7 緩存容量的相關屬性設置 156

4.8 緩存清空的相關屬性設置 158

第5章 消息隊列的實現 162

5.1 閑話中間件與mq 162

5.2 jms的兩種經典模式 163

5.3 如何實現發送接收的隊列模式 164

5.4 如何實現主題訂閱模式 168

第6章 分布式文件系統的實現 173

6.1 fttp架構原理解析 174

6.2 搭建配置fttpadapter環境 177

6.3 訪問集群文件根目錄 179

6.4 訪問和操作遠程文件 181

6.5 集群內文件復制和并行復制 184

6.6 讀寫遠程文件 187

6.7 解析遠程文件 189

6.8 并行讀寫遠程文件 191

6.9 批量并行讀寫遠程文件和事務補償處理 194

6.10 如何進行整型讀寫 198

6.11 基于整型讀寫的上億排序 205

第7章 分布式作業調度平臺的實現 219

7.1 調度平臺的設計與實現 219

7.2 資源隔離的實現 224

7.3 資源調度算法 226

7.4 其他作業調度平臺簡介 227

7.4.1 其他mpi作業資源調度技術 227

7.4.2 mesos和yarn簡介 229

?

本圖書信息來源:互動出版

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276187.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276187.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276187.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WINDOWS下的squid

今天寫這篇教程目的在于分享自己在WINDOWS主機下配置squid的方法。哪些地方寫的不完善或是不完整或是需要修改的地方,大家可以提出。我會第一時間糾正。下面看正文部分。先提條件,您預安裝配置squid的這臺計算機必須是聯入網絡的,系統版本是w…

Provide/inject 真的可以取代 Vuex 嗎?

Hello,各位小伙伴,接下來的一段時間里,我會把我的課程《Vue.js 3.0 核心源碼解析》中問題的答案陸續在我的公眾號發布,由于課程的問題大多數都是開放性的問題,所以我的答案也不一定是標準的,僅供你參考喔。…

php 計算代碼執行時間

轉載鏈接:http://blog.csdn.net/php_boy/article/details/6450678 class runtime {var $StartTime 0;var $StopTime 0;function get_microtime(){list($usec, $sec) explode( , microtime());return ((float)$usec (float)$sec);}function start(){$this->S…

參數方程求二階偏導_偏微分方程

常微分方程(ODE) 的時候我們更多是關于時間的導數。偏微分方程(partial differential equation) 則不僅僅是與時間相關,加上了與空間位置相關的一些信息。解當 ODE 滿足 利普希茨連續(Lipschitz continuity&#xff09…

Spring Batch 批量處理策略

為了幫助設計和實現批量處理系統,基本的批量應用是通過塊和模式來構建的,同時也應該能夠為程序開發人員和設計人員提供結構的樣例和基礎的批量處理程序。當你開始設計一個批量作業任務的時候,商業邏輯應該被拆分一系列的步驟,而這…

CString原理介紹

看了很多人寫的程序,包括我自己寫的一些代碼,發現很大的一部分bug是關于MFC類中的CString的錯誤用法的.出現這種錯誤的原因主要是對CString的實現機制不是太了解。 CString是對于原來標準c中字符串類型的一種的包裝。因為,通過很長時間的編程&#xff0c…

如何從零開始開發一個 Chrome 插件?

什么是瀏覽器插件?簡單來說瀏覽器插件,是瀏覽器上的一種工具,可以提供一些瀏覽器沒有的功能,幫你做一些有趣的事情。開發者可以根據自己的喜歡,去實現一些功能。插件基于Web技術(html、css、js)…

mysql 重復字段查詢及排除重復值

轉載鏈接:http://blog.sina.com.cn/s/blog_3edc5e2e010131ys.html mysql 重復字段查詢及排除重復值 SELECT a.id,a.title FROM dede_archives a left join dede_taglist t on t.taga.title WHERE t.typeid$id and t.arcrank>-1 and a.typeid28 group by t.tag; …

swiper移入暫停_react中swiper注意事項及鼠標劃入停止輪播

首先是實例化swiper這里有一個注意點,就是實例化的時機如果你的swiper內容是寫死的,可以在componentDidMount中實例化,但是如果你的內容是通過接口異步請求過來的,就必須在componentDidUpdate里實例化,因為如果在 comp…

轉Excel的一種簡單方法

寫了這么久的程序﹐越來越喜歡那種簡單的解決方法﹐這段時間在做一個報表系統﹐其中有需要轉Excel﹐而且要求兼容openoffice﹐遂利用asp語法,asp.net的控件封裝特性以及excel 2003的xml試算清格式做了一個看起來比較"清爽"的excel轉檔方案。一.開始原理很簡單﹐excel…

詳解MySQL中EXPLAIN解釋命令

轉載鏈接:http://database.51cto.com/art/200912/168453.htm explain顯示了mysql如何使用索引來處理select語句以及連接表。可以幫助選擇更好的索引和寫出更優化的查詢語句。 使用方法,在select語句前加上explain就可以了: 如:…

Shell編程基礎

我們可以使用任意一種文字編輯器,比如gedit、kedit、emacs、vi等來編寫shell腳本,它必須以如下行開始(必須放在文件的第一行): # !/bin/sh ...注意:最好使用“!/bin/bash”而不是“!/bin/sh”,…

總結:自學前端的高效學習路線

提到前端,大多數人都會想到薪資高。也正因為如此,很多人想要從事前端開發這個崗位,也由此衍生出來一個問題:為什么前端工程師供不應求,但還是有很多學前端的人找不到工作?其實行業不是缺前端工程師&#xf…

機器人出魔切還是三相_英雄聯盟:輔助也要去上單,機器人布里茨玩法介紹

英雄聯盟:輔助也要去上單,機器人布里茨玩法介紹出裝方面我們都知道他的被動是可以將法力值化為機的護盾的,而這樣的話裝備就可以選擇魔切,然后再出一個鞋子,為什么不先出三項呢?三項的性價比是比較高的&…

vmware創建虛擬機不識別網卡

今天在給虛擬機添加網卡的時候,出現了虛擬機不識別新加的網卡,很納悶,連的一樣的端口組,為什么新加的網卡識別不了呢 然后查看pci設備,發現網卡的驅動為 AMD 79C970 PCnet32- LANCE 然后都vc上查看,果真驅動…

轉:26個Jquery使用小技巧(jQuery tips, tricks solutions)

26個Jquery使用小技巧(jQuery tips, tricks & solutions) 前段時間發布了Jquery類庫1.4版本,使用者也越來越多,為了方便大家對Jquery的使用,下面列出了一些Jquery使用技巧。比如有禁止右鍵點擊、隱藏搜索文本框文字、在新窗口中打開鏈接…

周末包郵送書和小紅包中獎名單公布

大家好,我是若川。周末送福利,給大家送紅包、包郵送新書!這篇文章中,準備了3本自選前端新書,10個2元小紅包,在看抽10人每人5元紅包,2月28日晚8點開獎。現將名單公布如下:在看抽獎&am…

Ubuntu 命令行修改網絡配置方法

轉載鏈接:http://www.jb51.net/article/15807.htm Ubuntu 命令行修改網絡配置方法 /etc/network/interfaces 打開后里面可設置DHCP或手動設置靜態ip。前面auto eth0,讓網卡開機自動掛載. 1. 以DHCP方式配置網卡 編輯文件/etc/network/interfaces: sudo v…

python treeview底部加個按鈕_Python爬取京東商品信息(GUI版本)

前言本文的文字及圖片來源于網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。作者:DYblog轉載:https://www.cnblogs.com/dy8888/p/13257918.htmlPS:如有需要Python學習資料的小伙伴可以加點擊…

Linux下編譯安裝Mysql簡單步驟

常規方式編譯安裝MySQL時,適合用第一條最正宗的MySQL產品線5.2及以前版本:所謂常規方式編譯安裝MySQL就是延續早期MySQL的3部曲安裝方式,即./configure;make;make install,下面是老男孩在早期的企業生產場景下操作過的具體命令及參…