最新世代平行運算 ─ 分散式系統主流框架實作指南
易哥 著
- 出版商: 深智
- 出版日期: 2022-05-20
- 定價: $780
- 售價: 7.9 折 $616
- 語言: 繁體中文
- 頁數: 384
- 裝訂: 平裝
- ISBN: 6267146057
- ISBN-13: 9786267146057
-
相關分類:
Message Queue
- 此書翻譯自: 分佈式系統原理與工程實踐: 一致性、共識、Paxos、分佈式事務、服務治理、微服務、冪等、消息系統、ZooKeeper
立即出貨(限量) (庫存=5)
買這商品的人也買了...
-
RabbitMQ 實戰指南$474$450 -
分散式系統設計 (Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services)$480$379 -
Kafka 技術手冊|即時資料與串流處理 (Kafka: The Definitive Guide)$580$458 -
$658分佈式中間件技術實戰:Java版 -
MongoDB 技術手冊, 3/e (MongoDB: The Definitive Guide: Powerful and Scalable Data Storage, 3/e)$780$616 -
軟體架構原理|工程方法 (Fundamentals of Software Architecture: A Comprehensive Guide to Patterns, Characteristics, and Best Practices)$680$537 -
巨型服務架構:分布式/資料庫優化/記憶體快取設計/IO模型$690$545 -
NoSQL 開發完美方案:Redis + Docker 高性能虛擬化實戰$1,200$948 -
超大流量系統解決方案 : 大型網站架構師的經驗分享$690$538 -
跟著 Docker 隊長,修練 22天就精通 - 搭配 20小時作者線上教學,無縫接軌 Microservices、Cloud-native、Serverless、DevOps 開發架構$880$695 -
TypeScript 邁向專家之路:零基礎 JavaScript 打通 Angular、React 與 Vue.js 前端框架實戰 (Essential TypeScript: From Beginner to Pro)$880$695 -
圖解 Docker & Kubernetes 的知識與使用方法$620$490 -
架構設計 2.0:大型分佈式系統架構方法論與實踐$630$599 -
複雜架構極簡化:領域驅動設計(DDD)10倍程式開發速度$1,000$790 -
從 OS 等級探究:Redis 運作原理程式逐行講解$880$695 -
Martin Fowler 的企業級軟體架構模式:軟體重構教父傳授 51個模式,活用設計思考與架構決策 (Patterns of Enterprise Application Architecture)$800$624 -
JavaScript 多執行緒|超越事件迴圈的並行 (Multithreaded JavaScript)$580$458 -
自己動手做虛擬機器:解析程式語言的設計與實現(iT邦幫忙鐵人賽系列書)$620$484 -
虛擬化 KVM 極速入門$534$507 -
虛擬化 KVM 進階實踐$534$507 -
軟體架構:困難部分 (Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures)$780$616 -
Linux 網路內功修煉 - 徹底了解底層原理及高性能架構$780$663 -
可觀測性工程|達成卓越營運 (Observability Engineering: Achieving Production Excellence)$680$537 -
最實用業界專案精選:用 Spring Boot 和 Spring Cloud 頂級開發, 2/e$1,000$790 -
內行人才知道的系統設計面試指南 第二輯 (System Design Interview – An Insider's Guide: Volume 2)$820$648
商品描述
★☆★☆★【分散式系統的原理與實踐】★☆★☆★
本書是一本說明分散式系統理論、實踐、專案知識的書籍,
更是一本幫助建立完整的分散式系統知識系統的書籍。
隨著網路世界的複雜化,當今數位世界已進入元宇宙時代,而Paxos、RabbitMQ及Zookeeper等頂級專案的興起,更讓分散式系統的設計、實作、產品開發等從前專屬於高級系統架構師的工作,逐漸走入程式設計師的日常。但分散式系統包括理論、實踐、專案等多方面內容。這些內容往往交織穿插在一起,給軟體開發者的學習帶來了不少困難,讓許多軟體開發者在學習過程中感到混亂和迷茫。為了幫助讀者學習分散式系統,本書對分散式系統的相關理論、實踐、專案知識進行了詳細的介紹,理論聯繫實踐、實踐結合專案,層層漸進,力求讓讀者知其然並知其所以然,建立完整的分散式系統知識系統。本書從理論就非常下功夫,並幫助讀者在演算法及CAP、BASE及一致性原理上充分了解,更有使用RabbitMQ及ZooKeeper的專案實作,讓你從普通的軟體開發者,一躍成為規劃全局的系統架構設計師。
本書重點
✪理論篇(第1章~第4章)
介紹了分散式系統的概念,並討論了分散式系統的優缺點及需要面對的問題,也討論了一致性、共識、分散式約束等重要理論知識。
✪實踐篇(第5章~第9章)
介紹了分散式鎖、分散式交易、服務發現與呼叫、服務保護與閘道、冪等介面等知識,介紹了理論篇所述的內容如何具體實施。
✪專案篇(第10章~第12章)
以架設具體的專案為導向,介紹了分散式系統中介軟體。其中,著重介紹了訊息系統中介軟體RabbitMQ和分散式協調中介軟體ZooKeeper。
✪複習篇(第13章)
對前三篇的內容加以整理。
【前言】
隨著軟體複雜度的增加和使用者規模的增長,分散式系統獲得了廣泛應用。對於軟體開發者而言,掌握分散式系統的相關知識是十分必要的。但分散式系統包括理論、實踐、專案等多方面內容。這些內容往往交織穿插在一起,給軟體開發者的學習帶來了不少困難,讓許多軟體開發者在學習過程中感到混亂和迷茫。
為了幫助讀者學習分散式系統,本書對分散式系統的相關理論、實踐、專案知識進行了詳細的介紹,理論聯繫實踐、實踐結合專案,層層漸進,力求讓讀者知其然並知其所以然,建立完整的分散式系統知識系統。
本書共分為4 篇,13 章。
理論篇(第1 章~第4 章)介紹了分散式系統的概念,並討論了分散式系統的優缺點及需要面對的問題。然後,從這些問題入手,討論了一致性、共識、分散式約束等重要理論知識。該篇內容將為後續的實踐篇、專案篇提供清晰、明確的理論指引。
實踐篇(第5 章~第9 章)介紹了分散式鎖、分散式交易、服務發現與呼叫、服務保護與閘道、冪等介面等知識,介紹了理論篇所述的內容如何具體實施。讀者透過該篇內容的學習,會了解許多架構思想和實踐技巧。
專案篇(第10 章~第12 章)以架設具體的專案為導向,介紹了分散式系統中介軟體。其中,著重介紹了訊息系統中介軟體RabbitMQ 和分散式協調中介軟體ZooKeeper。該篇與理論篇、實踐篇相呼應,但更加接近專案實作,可以直接將其中的內容作為專案開發時的參考資料。
複習篇(第13 章)對前面3 篇的內容進行了整理,幫助讀者釐清分散式系統的知識脈絡。
本書是一本說明分散式系統理論、實踐、專案知識的書籍,更是一本幫助建立完整的分散式系統知識系統的書籍。
本書內容的涵蓋範圍很廣,包括數學、演算法、架構、程式設計、中介軟體等多個領域。在本書的籌備過程中,作者閱讀了許多書籍、查閱了許多論文,前後歷時近兩年。在本書寫作過程中,為確保內容簡單易懂,作者多次斟酌和修改了行文脈絡。在本書完稿後,為保證內容的充實可靠,作者邀請了國內外學術、專案領域的多位專家、學者對本書的數學、演算法等內容進行了審稿。其中,周健博士等人從各自的專業領域出發,提出了很多寶貴的意見和建議。
本書的出版還獲得了李冰編輯的大力支持。崔寶順等人也參與寫作並提供了大量幫助。
由於作者水準有限,書中難免有疏漏之處,敬請讀者批評指正。真心希望本書能夠給讀者帶來架構能力和軟體開發能力的提升。
作者簡介
易哥
畢業於浙江大學、山東大學,高級軟體系統架構師、網路工程師、資料庫工程師、軟體測試工程師、註冊電氣工程師。
在校成績優異,曾獲得國家獎學金兩次,一等獎學金四次,科技創新大賽一等獎三次,以及五四青年科學獎等。主要科研方向為機器學習、分散式運算、容錯算法在無線感測網路中的應用,相關論文獲得IEEE通信協會最佳論文獎。
具有十餘年軟體開發經驗,曾擔任網站技術部門負責人,現從事網際網路金融行業。主要負責軟體系統架構設計與後端開發,專注分散式架構、研發協同、持續交付等領域,設計並實現應用交付流水系統、任務協作與管理系統、通用流處理平台等眾多系統或平台。同時也是一名活躍的開源開發者。
著有<<巨型服務架構:分布式 / 資料庫優化 / 記憶體快取設計 / IO模型(改)>> <<拉近和大神之間的差距:從閱讀MyBatis原始程式碼開始>>,兩本書籍均受到多方好評。
目錄大綱
Part 1 理論篇
Chapter 01 分散式概述
1.1 概述
1.2 應用的演進歷程
1.3 分散式系統概述
1.4 分散式應用的優勢
1.5 分散式應用的問題
1.6 本章小結
Chapter 02 一致性
2.1 一致性的概念
2.2 一致性的強弱
2.3 一致性演算法
2.4 兩階段提交
2.5 三階段提交
2.6 本章小結
Chapter 03 共識
3.1 共識與一致性
3.2 拜占庭將軍問題
3.3 演算法的容錯性
3.4 共識演算法
3.5 Paxos 演算法
3.6 Raft 演算法
3.7本章小結
Chapter 04 分散式約束
4.1 CAP 定理
4.2 從CAP 定理到BASE 定理
4.3 BASE 定理
4.4本章小結
Part 2 實踐篇
Chapter 05 分散式鎖
5.1 產生背景
5.2 特性
5.3 設計要點
5.4 實現
5.5 應用場景
5.6 本章小結
Chapter 06 分散式交易
6.1 本地交易與分散式交易
6.2 分散式交易的類別
6.3 分散式交易的類別複習
6.4 應用內多資料庫交易方案
6.5 單體應用間交易方案
6.6 近似交易
6.7 本章小結
Chapter 07 服務發現與呼叫
7.1 分散式帶來的問題
7.2 服務發現
7.3 服務呼叫
7.4 本章小結
Chapter 08 服務保護與閘道
8.1 服務保護
8.2 服務閘道
8.3 本章小結
Chapter 09 冪等介面
9.1 概述
9.2 代數系
9.3 函數
9.4 複合函數的冪等化
9.5 介面的單位元化
9.6 介面的零因子化
9.7 呼叫的冪等化
9.8 冪等介面複習
9.9 本章小結
Part 3 專案篇
Chapter10 分散式中介軟體概述
Chapter11 RabbitMQ 詳解
11.1 訊息系統概述
11.2 RabbitMQ 概述
11.3 RabbitMQ 的元件
11.4 RabbitMQ 的連接
11.5 附加功能
11.6 模型與應用
11.7 本章小結
Chapter12 ZooKeeper 詳解
12.1 單機設定與啟動
12.2 資料模型
12.3 互動式命令列用戶端
12.4 監聽器
12.5 連接與階段
12.6 叢集模式
12.7 應用範例
12.8 應用場景
12.9 本章小結
Part 4 複習篇
Chapter13 再論分散式系統
13.1 分散式與一致性
13.2 本書脈絡
13.3 複習與展望
Appendix A 參考文獻















