本書的內容全面,涵蓋分散式系統基礎理論、常用技術以及經典的案例分析。全書對分散式系統中的執行緒、通信、一致性、容錯性、CAP理論、安全性、併發、RESTful風格架構、微服務、容器技術,以及分散式消息服務、分散式運算、分散式存儲、分散式監控系統、分散式版本控制、RESTful、微服務等相關技術和知識點都作了詳細的講解,並輔以淘寶網和Twitter為代表的國內外知名互聯網企業的大型分散式系統為案例,分析其架構設計以及演變過程,做到理論和實踐相結合。
本書分為三大部分,即分散式系統基礎理論、分散式系統常用技術以及經典的分散式系統案例分析。
第一部分主要介紹分散式系統基礎理論知識,總結一些在設計分散式系統時需要考慮的範式、知識點以及可能會面臨的問題,其中包括執行緒、通信、一致性、容錯性、CAP 理論、安全性和併發等相關內容;同時講述分散式系統的常見架構體系,其中也包括最近比較熱門的RESTful 風格架構、微服務、容器技術等。
第二部分主要列舉在分散式系統應用中經常用到的一些主流技術,並介紹這些技術的作用和用法;這些技術涵蓋了分散式消息服務、分散式運算、分散式存儲、分散式監控系統、分散式版本控制、RESTful、微服務、容器等領域的內容。
第三部分選取以淘寶網和Twitter為代表的國內外知名互聯網企業的大型分散式系統案例,分析其架構設計以及演變過程;這部分相當於是對第二部分零散的技術點做一個“串聯”,讓讀者可以結合技術的理論,看到實戰的效果。
適用:對分散式系統感興趣的讀者、軟體工程師、系統架構師等。
作者簡介:
柳偉衛
多年軟體發展管理及系統架構經驗。負責過大型分散式系統的設計與研發,也負責過多個大型專案的微服務架構的技術改造,在實際工作中積累大量的微服務架構經驗。
作者序
前言
寫作背景
我一直想寫一本關於分散式系統方面的書。一方面是想把個人多年工作中有關的分散式技術做一下歸納,另一方面也想把個人的經驗分享給廣大的讀者朋友。由於我的開發工作大都以Java 為主,所以一開始的主題設想是“分散式Java”,書也以開放原始碼方式發佈在網際網路上(網址為https://github.com/waylau/distributed-java)。
後來,陳曉猛編輯看到了這本開放原始碼書,以及我關於分散式系統方面的博文,問我是否有興趣出版分散式相關題材的圖書。當然書的內容不僅是“分散式Java”。
對於出書一事,我猶豫良久。首先,本身工作忙,實在無暇顧及其他;其次,雖然我之前寫過超過一打的書籍(可見ttps://waylau.com/books/),但多是開放原始碼電子書,時間、內容方面自然也就不會有太多約束,幾乎是“想寫就寫,沒有時間就不寫”,這個跟正式出版還是存在比較大的差異的;最後,這本書有關面相對較廣,需要查閱大量資料,實在是太耗費精力。
但陳曉猛編輯還是鼓勵我能夠去嘗試做這個事情。思索再三,於是我便答應。當然,最後這本書還是在規定時間內完成了。它幾乎耗盡了我寫作期間所有的業餘和休息時間。
“不積跬步,無以至千里;不積小流,無以成江海。”雖然整本書從構思到撰寫完成的時間不足一年,但書中的大部分基礎知識,卻是我在多年的學習、工作中累積下來的。之所以能夠實現快速寫作,一方面是做了比較嚴格的時間管理,另一方面也得益於我多年堅持寫部落格和開放原始碼書的習慣。
內容介紹
本書分為三大部分,即分散式系統基礎理論、分散式系統常用技術以及經典的分散式系統案例分析。第一部分為第1 章和第2 章,主要介紹分散式系統基礎理論知識,歸納一些在設計分散式系統時需要考慮的範式、基礎知識以及可能會面臨的問題。第二部分為第3 章到第8 章,主要列舉了在分散式系統應用中經常用到的一些主流技術,並介紹這些技術的作用和用法。第三部分為第9章和第10章,選取了以淘寶網和Twitter 為代表的國內外知名網際網路企業的大型分散式系統案例,分析其架構設計以及演變過程。
■第1 章介紹分散式系統基礎理論知識,歸納一些在設計分散式系統時需要考慮的範式、基礎知識以及可能會面臨的問題,其中包含執行緒、通訊、一致性、容錯性、CAP 理論、安全性和平行處理等相關內容。
■第2 章詳細介紹分散式系統的架構系統,包含傳統的以物件為基礎的系統結構、SOA,也包含最近比較火的RESTful 風格架構、微服務、容器技術、Serverless 架構等。
■第3 章介紹常用的分散式訊息服務架構, 包含Apache ActiveMQ、RabbitMQ、RocketMQ、Apache Kafka 等。
■第4 章介紹分散式運算理論和應用架構方面的內容,包含MapReduce、Apache Hadoop、Apache Spark、Apache Mesos 等。
■第5 章介紹分散式儲存理論和應用架構方面的內容,包含Bigtable、ApacheHBase、Apache Cassandra、Memcached、Redis、MongoDB 等。
■第6 章介紹分散式監控方面常用的技術,包含Nagios、Zabbix、Consul、ZooKeeper 等。
■第7 章介紹常用的分散式版本控制工具,包含Bazaar、Mercurial、Git 等。
■第8 章介紹RESTful API、微服務及容器相關的技術,注重介紹Jersey、Spring Boot、Docker 等技術的應用。
■第9 章和第10 章分別介紹以淘寶網和Twitter 為代表的國內外知名網際網路企業的大型分散式系統案例,分析其架構設計以及演變過程。
原始程式碼
本書提供原始程式碼下載, 下載網址為https://github.com/waylau/distributedsystems-technologies- and-cases-analysis。
勘誤和交流
本書如有勘誤,會在https://github.com/waylau/distributed-systems-technologiesand-cases- analysis 上進行發佈。由於筆者能力有限,時間倉促,難免錯漏,歡迎讀者批評指正。讀者也可到博文視點官網的本書頁面進行交流(www.broadview.com.cn/30771)。
您也可以直接聯繫我:
部落格:https://waylau.com
電子郵件:waylau521@gmail.com
微博:http://weibo.com/waylau521
開放原始碼:https://github.com/waylau
致謝
首先,感謝電子工業出版社博文視點公司的陳曉猛編輯,是您鼓勵我將本書付諸成冊,並在我寫作過程中審稿了大量稿件,給予了我很多指導和幫助。感謝工作在後台的電子工業出版社評審團隊對於本書在校對、排版、審核、封面設計、錯誤改進方面所給予的幫助,使本書得以順利出版發行。
其次,感謝在我十幾年求學生涯中教育過我的所有老師。是你們將知識和學習方法傳遞給了我。感謝我曾經工作過的公司和單位,感謝和我一起共事過的同事和戰友,你們的優秀一直是我追逐的目標,你們所給予的壓力正是我不斷改進自己的動力。
感謝我的父母、妻子Funny 和兩個女兒。由於撰寫本書,犧牲了很多陪伴家人的時間。感謝你們對於我工作的了解和支援。
最後,特別要感謝這個時代,網際網路讓所有人可以公平地享受這個時代的成果。感謝那些為電腦、網際網路所做出貢獻的先驅,是你們讓我可以站在更高的“肩膀”上!感謝那些為本書提供靈感的佳作,包含《分散式系統原理與範式》《Unix Network Programming》《Enterprise SOA》《MapReduce Design Patterns》《Hadoop: The Definitive Guide》《Learning Hbase》《Advanced Analytics withSpark》《Pro Git》《Docker in Action》《淘寶技術這十年》《Hatching Twitter》,等等,詳細的書單可以參閱本書最後的“參考文獻”部分。
柳偉衛
前言
寫作背景
我一直想寫一本關於分散式系統方面的書。一方面是想把個人多年工作中有關的分散式技術做一下歸納,另一方面也想把個人的經驗分享給廣大的讀者朋友。由於我的開發工作大都以Java 為主,所以一開始的主題設想是“分散式Java”,書也以開放原始碼方式發佈在網際網路上(網址為https://github.com/waylau/distributed-java)。
後來,陳曉猛編輯看到了這本開放原始碼書,以及我關於分散式系統方面的博文,問我是否有興趣出版分散式相關題材的圖書。當然書的內容不僅是“分散式Java”。
對於出書一事,我猶豫良久。首先,本身...
目錄
前言
01分散式系統基礎知識
1.1 概述
1.2 執行緒
1.3 通訊
1.4 一致性
1.5 容錯性
1.6 CAP 理論
1.7 安全性
1.8 平行處理
02分散式系統架構系統
2.1 以物件為基礎的系統結構
2.2 針對服務的架構(SOA)
2.3 REST 風格的架構
2.4 微服務架構
2.5 容器技術
2.6 Serverless 架構
03分散式訊息服務
3.1 Apache ActiveMQ
3.2 RabbitMQ
3.3 RocketMQ
3.4 Apache Kafka
04分散式運算
4.1 MapReduce
4.2 Apache Hadoop
4.3 Apache Spark
4.4 Apache Mesos
05分散式儲存
5.1 Bigtable
5.2 Apache HBase
5.3 Apache Cassandra
5.4 Memcached
5.5 Redis
5.6 MongoDB
06分散式監控
6.1 Nagios
6.2 Zabbix
6.3 Consul
6.4 ZooKeeper
07分散式版本控制系統
7.1 Bazaar
7.2 Mercurial
7.3 Git
08 RESTful API、微服務及容器技術
8.1 Jersey
8.2 Spring Boot
8.3 Docker
09淘寶網:「雙11」神話的締造者
9.1 從LAMP 到Java 平台的轉變
9.2 堅定不移地走「去IOE」的道路
9.3 打造雲端運算,決戰「雙11」
10 Twitter:即時資訊傳遞的王者
10.1 快取,讓回應更快
10.2 服務拆分與治理
10.3 抗擊流量的洪流
A 參考文獻
前言
01分散式系統基礎知識
1.1 概述
1.2 執行緒
1.3 通訊
1.4 一致性
1.5 容錯性
1.6 CAP 理論
1.7 安全性
1.8 平行處理
02分散式系統架構系統
2.1 以物件為基礎的系統結構
2.2 針對服務的架構(SOA)
2.3 REST 風格的架構
2.4 微服務架構
2.5 容器技術
2.6 Serverless 架構
03分散式訊息服務
3.1 Apache ActiveMQ
3.2 RabbitMQ
3.3 RocketMQ
3.4 Apache Kafka
04分散式運算
4.1 MapReduce
4.2 Apache Hadoop
4.3 Apache Spark
4.4 Apache Mesos
05分散式儲存
5.1 Bigtable
5.2 Apache HBas...
商品資料
出版社:佳魁數位出版日期:2017-11-09ISBN/ISSN:9789863795896 語言:繁體中文For input string: ""
裝訂方式:平裝開數:17*23
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。