分布式系統常用技術及案例分析(第2版)(簡體書)
商品簡介
作者簡介
序
目次
第1章 分布式系統基礎知識
1.1 概述
1.1.1 什麼是分布式系統
1.1.2 集中式系統與分布式系統
1.1.3 如何設計分布式系統
1.1.4 分布式系統所面臨的挑戰
1.2 線程
1.2.1 什麼是線程
1.2.2 進程和線程
1.2.3 線程和纖程
1.2.4 編程語言中的線程對象
1.2.5 SimpleThreads示例
1.3 通信
1.3.1 網絡I/O模型的演進
1.3.2 遠程過程調用(RPC)
1.3.3 面向消息的通信
1.4 一致性
1.4.1 以數據為中心的一致性模型
1.4.2 以客戶為中心的一致性
1.5 容錯性
1.5.1 基本概念
1.5.2 故障分類
1.5.3 使用冗餘來掩蓋故障
1.5.4 分布式提交
1.6 CAP理論
1.6.1 什麼是CAP理論
1.6.2 為什麼CAP只能三選二
1.6.3 CAP常見模型
1.6.4 CAP的意義
1.6.5 CAP最新發展
1.7 安全性
1.7.1 基本概念
1.7.2 加密算法
1.7.3 安全通道
1.7.4 訪問控制
1.8 併發
1.8.1 線程與併發
1.8.2 併發與並行
1.8.3 併發帶來的風險
1.8.4 同步(Synchronization)
1.8.5 原子訪問(Atomic Access)
1.8.6 無鎖化設計提升併發能力
1.8.7 緩存提升併發能力
1.8.8 更細顆粒度的併發單元
第2章 分布式系統架構體系
2.1 基於對象的體系結構
2.1.1 分布式對象
2.1.2 Java RMI
2.2 面向服務的架構(SOA)
2.2.1 SOA的基本概念
2.2.2 基於Web Services的SOA
2.2.3 SOA的演變
2.3 REST風格的架構
2.3.1 什麼是REST
2.3.2 REST有哪些特徵
2.3.3 Java實現REST的例子
2.3.4 REST API最佳實踐
2.4 微服務架構(MSA)
2.4.1 什麼是MSA
2.4.2 MSA與SOA
2.4.3 何時採用MSA
2.4.4 如何構建微服務
2.5 容器技術
2.5.1 虛擬化技術
2.5.2 容器與虛擬機
2.5.3 基於容器的持續部署
2.6 Serverless架構
2.6.1 什麼是Serverless架構
2.6.2 Serverless典型的應用場景
2.6.3 Serverless架構原則
2.6.4 例子:使用Serverless實現遊戲全球同服
第3章 分布式消息服務
3.1 分布式消息概述
3.1.1 基本概念
3.1.2 使用場景
3.1.3 常用技術
3.2 Apache ActiveMQ
3.2.1 例子:producer-consumer
3.2.2 例子:使用JMX來監控ActiveMQ
3.2.3 例子:使用Java實現producer-consumer
3.3 RabbitMQ
3.3.1 例子:Work Queues
3.3.2 例子:Publish/Subscribe
3.3.3 例子:Routing
3.3.4 例子:Topics
3.3.5 例子:RPC
3.4 Apache RocketMQ
3.4.1 例子:使用Java實現producer-consumer
3.4.2 RocketMQ最佳實踐
3.5 Apache Kafka
3.5.1 Apache Kafka的核心概念
3.5.2 Apache Kafka的使用場景
3.6 實戰:基於JMS的消息發送和接收
3.6.1 項目概述
3.6.2 項目配置
3.6.3 編碼實現
3.6.4 運行
第4章 分布式計算
4.1 分布式計算概述
4.1.1 使用場景
4.1.2 常用技術
4.2 MapReduce
4.2.1 MapReduce簡介
4.2.2 MapReduce的編程模型
4.2.3 MapReduce接口實現
4.2.4 MapReduce的使用技巧
4.3 Apache Hadoop
4.3.1 Apache Hadoop的核心組件
4.3.2 例子:詞頻統計WordCount程序
4.4 Spark
4.4.1 Spark簡介
4.4.2 Spark與Hadoop的關係
4.4.3 Spark 2.0的新特性
4.4.4 Spark集群模式
4.5 Mesos
4.5.1 Mesos簡介
4.5.2 設計高可用的Mesos framework
4.6 實戰:基於Spark的詞頻統計
4.6.1 項目概述
4.6.2 項目配置
4.6.3 編碼實現
4.6.4 運行
第5章 分布式存儲
5.1 分布式存儲概述
5.1.1 使用場景
5.1.2 常用技術
5.2 Bigtable
5.2.1 Bigtable的數據模型
5.2.2 Bigtable的實現
5.2.3 Bigtable的性能優化
5.3 Apache HBase
5.3.1 Apache HBase的基本概念
5.3.2 Apache HBase的架構
5.4 Apache Cassandra
5.4.1 Apache Cassandra簡介
5.4.2 Apache Cassandra的應用場景
5.4.3 Apache Cassandra的架構和數據模型
5.4.4 用於配置Apache Cassandra的核心組件
5.5 Memcached
5.5.1 Memcached簡介
5.5.2 Memcached的架構
5.5.3 Memcached客戶端
5.6 Redis
5.6.1 Redis簡介
5.6.2 Redis的下載與簡單使用
5.6.3 Redis的數據類型及抽象
5.7 MongoDB
5.7.1 MongoDB簡介
5.7.2 MongoDB核心概念
5.7.3 MongoDB的數據模型
5.7.4 示例:Java連接MongoDB
5.8 實戰:基於Redis的分布式鎖
5.8.1 項目概述
5.8.2 項目配置
5.8.3 編碼實現
5.8.4 運行
第6章 分布式監控
6.1 分布式監控概述
6.1.1 使用場景
6.1.2 常用技術
6.2 Nagios
6.2.1 Nagios監控
6.2.2 Nagios插件
6.3 Zabbix
6.3.1 Zabbix對容器的支持
6.3.2 Zabbix的基本概念
6.4 Consul
6.4.1 Consul架構
6.4.2 Consul agent
6.5 ZooKeeper
6.5.1 ZooKeeper簡介
6.5.2 ZooKeeper內部工作原理
6.5.3 例子:ZooKeeper實現barrier和producer-consumer queue
6.6 實戰:基於ZooKeeper的服務註冊和發現
6.6.1 項目概述
6.6.2 項目配置
6.6.3 編碼實現
6.6.4 運行
第7章 分布式版本控制系統
7.1 分布式版本控制系統概述
7.1.1 集中式與分布式
7.1.2 分布式版本控制系統的核心概念
7.2 Bazaar
7.2.1 Bazaar的核心概念
7.2.2 Bazaar的使用
7.3 Mercurial
7.3.1 Mercurial的核心概念
7.3.2 Mercurial的使用
7.4 Git
7.4.1 Git的基礎概念
7.4.2 Git的使用
7.5 Git Flow―團隊協作最佳實踐
7.5.1 分支定義
7.5.2 新功能開發工作流
7.5.3 Bug修復工作流
7.5.4 版本發佈工作流
第8章 RESTful API、微服務及容器技術
8.1 Jersey
8.1.1 Jersey簡介
8.1.2 Jersey的模塊和依賴
8.1.3 JAX-RS核心概念
8.1.4 例子:用SSE構建實時Web應用
8.2 Spring Boot
8.2.1 Spring Boot簡介
8.2.2 Spring Boot的安裝
8.2.3 Spring Boot的使用
8.2.4 Spring Boot的屬性與配置
8.3 Docker
8.3.1 Docker簡介
8.3.2 Docker的核心組成、架構及工作原理
8.3.3 Docker的使用
8.4 實戰:基於Docker構建、運行、發佈微服務
8.4.1 編寫微服務
8.4.2 微服務容器化
8.4.3 構建Docker image
8.4.4 運行image
8.4.5 訪問應用
8.4.6 發佈微服務
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。