-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈(zèng)1DVD.含語(yǔ)音視頻教學(xué)+辦公模板+PDF電子書)
分布式系統(tǒng)常用技術(shù)及案例分析 版權(quán)信息
- ISBN:9787121307713
- 條形碼:9787121307713 ; 978-7-121-30771-3
- 裝幀:暫無
- 冊(cè)數(shù):暫無
- 重量:暫無
- 所屬分類:>>
分布式系統(tǒng)常用技術(shù)及案例分析 本書特色
本書分為三大部分,即分布式系統(tǒng)基礎(chǔ)理論、分布式系統(tǒng)常用技術(shù)以及經(jīng)典的分布式系統(tǒng)案例分析。*部分主要介紹分布式系統(tǒng)基礎(chǔ)理論知識(shí),總結(jié)一些在設(shè)計(jì)分布式系統(tǒng)時(shí)需要考慮的范式、知識(shí)點(diǎn)以及可能會(huì)面臨的問題,其中包括線程、通信、一致性、容錯(cuò)性、CAP 理論、安全性和并發(fā)等相關(guān)內(nèi)容;同時(shí)講述分布式系統(tǒng)的常見架構(gòu)體系,其中也包括*近比較火的RESTful 風(fēng)格架構(gòu)、微服務(wù)、容器技術(shù)等。第二部分主要列舉了在分布式系統(tǒng)應(yīng)用中經(jīng)常用到的一些主流技術(shù),并介紹這些技術(shù)的作用和用法;這些技術(shù)涵蓋了分布式消息服務(wù)、分布式計(jì)算、分布式存儲(chǔ)、分布式監(jiān)控系統(tǒng)、分布式版本控制、RESTful、微服務(wù)、容器等領(lǐng)域的內(nèi)容。第三部分選舉了以*網(wǎng)和 Twitter 為代表的國(guó)內(nèi)外知名互聯(lián)網(wǎng)企業(yè)的大型分布式系統(tǒng)案例,分析其架構(gòu)設(shè)計(jì)以及演變過程;這部分相當(dāng)于是對(duì)第二部分零散的技術(shù)點(diǎn)做一個(gè)“串燒”,讓讀者可以結(jié)合技術(shù)的理論,看到實(shí)戰(zhàn)的效果。
分布式系統(tǒng)常用技術(shù)及案例分析 內(nèi)容簡(jiǎn)介
本書的內(nèi)容比較全面,涵蓋分布式系統(tǒng)基礎(chǔ)理論、常用技術(shù)以及經(jīng)典的案例分析。全書篇幅較多,對(duì)分布式系統(tǒng)中的線程、通信、一致性、容錯(cuò)性、CAP理論、安全性、并發(fā)、RESTful風(fēng)格架構(gòu)、微服務(wù)、容器技術(shù),以及分布式消息服務(wù)、分布式計(jì)算、分布式存儲(chǔ)、分布式監(jiān)控系統(tǒng)、分布式版本控制、RESTful、微服務(wù)等相關(guān)技術(shù)和知識(shí)點(diǎn)都作了詳細(xì)的講解,并輔以*網(wǎng)和Twitter為代表的國(guó)內(nèi)外知名互聯(lián)網(wǎng)企業(yè)的大型分布式系統(tǒng)為案例,分析其架構(gòu)設(shè)計(jì)以及演變過程,做到了理論和實(shí)踐相結(jié)合。
分布式系統(tǒng)常用技術(shù)及案例分析 目錄
第1章 分布式系統(tǒng)基礎(chǔ)知識(shí) 1
1.1 概述 2
1.1.1 什么是分布式系統(tǒng) 2
1.1.2 集中式系統(tǒng)VS.分布式系統(tǒng) 3
1.1.3 如何設(shè)計(jì)分布式系統(tǒng) 4
1.1.4 分布式系統(tǒng)所面臨的挑戰(zhàn) 5
1.2 線程 6
1.2.1 什么是線程 6
1.2.2 進(jìn)程和線程 7
1.2.3 編程語(yǔ)言中的線程對(duì)象 8
1.2.4 SimpleThreads示例 11
1.3 通信 14
1.3.1 網(wǎng)絡(luò)基礎(chǔ)知識(shí) 14
1.3.2 網(wǎng)絡(luò)I/O模型的演進(jìn) 19
1.3.3 遠(yuǎn)程過程調(diào)用(RPC) 33
1.3.4 面向消息的通信 41
1.4 一致性 43
1.4.1 以數(shù)據(jù)為中心的一致性模型 44
1.4.2 以客戶為中心的一致性 45
1.5 容錯(cuò)性 46
1.5.1 基本概念 46
1.5.2 故障分類 47
1.5.3 使用冗余來掩蓋故障 48
1.5.4 分布式提交 48
1.6 CAP理論 52
1.6.1 什么是CAP理論 52
1.6.2 為什么說CAP只能三選二 53
1.6.3 CAP常見模型 55
1.6.4 CAP的意義 56
1.6.5 CAP*新發(fā)展 56
1.7 安全性 57
1.7.1 基本概念 58
1.7.2 加密算法 60
1.7.3 安全通道 63
1.7.4 訪問控制 72
1.8 并發(fā) 74
1.8.1 線程與并發(fā) 75
1.8.2 并發(fā)與并行 75
1.8.3 并發(fā)帶來的風(fēng)險(xiǎn) 76
1.8.4 同步(Synchronization) 78
1.8.5 原子訪問(Atomic Access) 83
第2章 分布式系統(tǒng)架構(gòu)體系 85
2.1 基于對(duì)象的體系結(jié)構(gòu) 86
2.1.1 分布式對(duì)象 86
2.1.2 微軟DCOM(COM ) 87
2.1.3 CORBA 88
2.1.4 Java RMI 90
2.2 面向服務(wù)的架構(gòu)(SOA) 93
2.2.1 架構(gòu)VS.標(biāo)準(zhǔn) 94
2.2.2 SOA的基本概念 95
2.2.3 基于Web Services的SOA 97
2.2.4 SOA的演變 112
2.3 REST風(fēng)格的架構(gòu) 112
2.3.1 什么是REST 112
2.3.2 REST有哪些特征 113
2.3.3 Java實(shí)現(xiàn)REST的例子 115
2.3.4 REST API*佳實(shí)踐 125
2.4 微服務(wù)架構(gòu)(MSA) 128
2.4.1 什么是MSA 128
2.4.2 MSA VS. SOA 130
2.4.3 何時(shí)采用MSA 134
2.4.4 如何構(gòu)建微服務(wù) 135
2.5 容器技術(shù) 139
2.5.1 虛擬化技術(shù) 139
2.5.2 容器VS.虛擬機(jī) 139
2.5.3 基于容器的持續(xù)部署 142
2.6 Serverless架構(gòu) 149
2.6.1 什么是Serverless架構(gòu) 150
2.6.2 Serverless典型的應(yīng)用場(chǎng)景 151
2.6.3 常見的Serverless框架 153
2.6.4 Serverless架構(gòu)原則 155
2.6.5 例子:使用Serverless實(shí)現(xiàn)游戲全球同服 157
第3章 分布式消息服務(wù) 164
3.1 Apache ActiveMQ 165
3.1.1 Apache ActiveMQ簡(jiǎn)介 165
3.1.2 Apache ActiveMQ安裝配置 166
3.1.3 例子:producer-consumer 173
3.1.4 例子:使用JMX來監(jiān)控ActiveMQ 174
3.1.5 例子:使用Java實(shí)現(xiàn)producer-consumer 176
3.2 RabbitMQ 180
3.2.1 RabbitMQ簡(jiǎn)介 180
3.2.2 RabbitMQ安裝配置 181
3.2.3 例子:Work Queues 185
3.2.4 例子:Publish/Subscribe 191
3.2.5 例子:Routing 195
3.2.6 例子:Topics 200
3.2.7 例子:RPC 204
3.3 RocketMQ 210
3.3.1 RocketMQ簡(jiǎn)介 210
3.3.2 RocketMQ安裝配置 213
3.3.3 例子:使用Java實(shí)現(xiàn)producer-consumer 214
3.3.4 RocketMQ*佳實(shí)踐 219
3.4 Apache Kafka 223
3.4.1 Apache Kafka簡(jiǎn)介 224
3.4.2 Apache Kafka的核心概念 225
3.4.3 Apache Kafka的使用場(chǎng)景 228
3.4.4 Apache Kafka的安裝、配置、使用 229
第4章 分布式計(jì)算 236
4.1 MapReduce 237
4.1.1 MapReduce簡(jiǎn)介 237
4.1.2 MapReduce的編程模型 238
4.1.3 MapReduce的實(shí)現(xiàn) 243
4.1.4 MapReduce的使用技巧 248
4.2 Apache Hadoop 251
4.2.1 Apache Hadoop簡(jiǎn)介 252
4.2.2 Apache Hadoop核心組件 253
4.2.3 Apache Hadoop單節(jié)點(diǎn)上的安裝配置 254
4.2.4 Apache Hadoop集群上的安裝配置 258
4.2.5 例子:詞頻統(tǒng)計(jì)WordCount程序 267
4.3 Apache Spark 272
4.3.1 Apache Spark簡(jiǎn)介 272
4.3.2 Apache Spark與Apache Hadoop的關(guān)系 274
4.3.3 Apache Spark 2.0的新特性 275
4.3.4 Apache Spark的安裝和使用 279
4.3.5 Apache Spark集群模式 280
4.4 Apache Mesos 282
4.4.1 Apache Mesos簡(jiǎn)介 283
4.4.2 Apache Mesos的安裝、使用 285
4.4.3 設(shè)計(jì)高可用的Mesos framework 289
第5章 分布式存儲(chǔ) 296
5.1 Bigtable 297
5.1.1 Bigtable簡(jiǎn)介 297
5.1.2 Bigtable的數(shù)據(jù)模型 298
5.1.3 Bigtable的實(shí)現(xiàn) 300
5.1.4 Bigtable的性能優(yōu)化 304
5.2 Apache HBase 308
5.2.1 Apache HBase簡(jiǎn)介 308
5.2.2 Apache HBase基本概念 310
5.2.3 Apache HBase架構(gòu) 318
5.2.4 Apache HBase的安裝、配置、使用 332
5.2.5 本地偽分布式 336
5.2.6 完全分布式 338
5.3 Apache Cassandra 342
5.3.1 Apache Cassandra簡(jiǎn)介 342
5.3.2 Apache Cassandra的應(yīng)用場(chǎng)景 345
5.3.3 Apache Cassandra的架構(gòu)、數(shù)據(jù)模型 346
5.3.4 用于配置Apache Cassandra的核心組件 347
5.3.5 Apache Cassandra的安裝、配置、使用 349
5.4 Memcached 352
5.4.1 Memcached簡(jiǎn)介 352
5.4.2 Memcached的架構(gòu) 353
5.4.3 Memcached的安裝、使用 355
5.4.4 Memcached客戶端 358
5.5 Redis 370
5.5.1 Redis簡(jiǎn)介 370
5.5.2 Redis的下載、安裝、使用 372
5.5.3 Redis的數(shù)據(jù)類型及抽象 372
5.6 MongoDB 392
5.6.1 MongoDB簡(jiǎn)介 392
5.6.2 MongoDB的安裝、配置、運(yùn)行 394
5.6.3 MongoDB核心概念 401
5.6.4 MongoDB的數(shù)據(jù)模型 406
5.6.5 示例:Java連接MongoDB 420
第6章 分布式監(jiān)控 422
6.1 Nagios 423
6.1.1 Nagios簡(jiǎn)介 423
6.1.2 Nagios的安裝、使用 424
6.1.3 Nagios監(jiān)控 428
6.1.4 Nagios插件 446
6.2 Zabbix 448
6.2.1 Zabbix簡(jiǎn)介 449
6.2.2 安裝Zabbix 451
6.2.3 Zabbix對(duì)于容器的支持 460
6.2.4 Zabbix基本概念 463
6.3 Consul 474
6.3.1 Consul簡(jiǎn)介 475
6.3.2 Consul架構(gòu) 476
6.3.3 Consul的安裝和使用 478
6.3.4 Consul agent 492
6.4 ZooKeeper 501
6.4.1 ZooKeeper簡(jiǎn)介 501
6.4.2 ZooKeeper的安裝和使用 505
6.4.3 ZooKeeper內(nèi)部工作原理 509
6.4.4 例子:ZooKeeper實(shí)現(xiàn)barrier和producer-consumer queue 514
第7章 分布式版本控制系統(tǒng) 522
7.1 Bazaar 523
7.1.1 Bazaar簡(jiǎn)介 523
7.1.2 Bazaar的核心概念 525
7.1.3 Bazaar的安裝 526
7.1.4 Bazaar的使用 528
7.2 Mercurial 533
7.2.1 Mercurial簡(jiǎn)介 533
7.2.2 Mercurial的核心概念 533
7.2.3 Mercurial的安裝 537
7.2.4 Mercurial的使用 538
7.3 Git 545
7.3.1 Git簡(jiǎn)介 545
7.3.2 Git的安裝 546
7.3.3 Git的基礎(chǔ)概念 548
7.3.4 Git的使用 551
第8章 RESTful API、微服務(wù)及容器技術(shù) 578
8.1 Jersey 579
8.1.1 Jersey簡(jiǎn)介 579
8.1.2 Jersey的模塊和依賴 580
8.1.3 JAX-RS核心概念 583
8.1.4 例子:用SSE構(gòu)建實(shí)時(shí)Web應(yīng)用 595
8.2 Spring Boot 603
8.2.1 Spring Boot簡(jiǎn)介 603
8.2.2 Spring Boot的安裝 604
8.2.3 Spring Boot的使用 610
8.2.4 Spring Boot的屬性與配置 615
8.3 Docker 620
8.3.1 Docker簡(jiǎn)介 621
8.3.2 Docker的特性 621
8.3.3 Docker的概念和原理 622
8.3.4 Docker Engine的安裝 628
8.3.5 Docker的使用 633
第9章 淘寶網(wǎng):“雙11”神話的締造者 636
9.1 從LAMP到Java平臺(tái)的轉(zhuǎn)變 637
9.1.1 淘寶網(wǎng)的誕生與發(fā)展 637
9.1.2 “平民英雄”LAMP架構(gòu) 638
9.1.3 數(shù)據(jù)庫(kù)更改為Oracle 639
9.1.4 向Java平臺(tái)轉(zhuǎn)變 642
9.2 堅(jiān)定不移地走“去IOE”的道路 643
9.2.1 使用小型機(jī)、EMC存儲(chǔ) 644
9.2.2 考慮“去IOE” 644
9.2.3 如何去“I” 646
9.2.4 如何去“O” 649
9.2.5 如何去“E” 650
9.3 打造云計(jì)算,決戰(zhàn)“雙11” 653
9.3.1 “大淘寶”戰(zhàn)略簡(jiǎn)介 653
9.3.2 成立阿里云,專注云計(jì)算 656
9.3.3 利用大數(shù)據(jù)優(yōu)化物流 660
9.3.4 技術(shù)是決勝“雙11”的關(guān)鍵 661
第10章 Twitter:實(shí)時(shí)信息傳遞的王者 664
10.1 緩存,讓響應(yīng)更快 665
10.1.1 Twitter的誕生 665
10.1.2 RoR的蠻荒時(shí)代 666
10.1.3 使用Memcached 667
10.2 服務(wù)拆分與治理 668
10.2.1 關(guān)系數(shù)據(jù)庫(kù)不是萬(wàn)靈藥 668
10.2.2 系統(tǒng)拆分,平臺(tái)轉(zhuǎn)換 670
10.2.3 Finagle 670
10.3 抗擊流量的洪流 672
10.3.1 業(yè)務(wù)的重新設(shè)計(jì) 673
10.3.2 Storm處理實(shí)時(shí)的大數(shù)據(jù) 675
10.3.3 從Storm到Heron 676
參考文獻(xiàn) 680
分布式系統(tǒng)常用技術(shù)及案例分析 作者簡(jiǎn)介
多年軟件開發(fā)管理及系統(tǒng)架構(gòu)經(jīng)驗(yàn)。負(fù)責(zé)過多個(gè)省、*大型分布式系統(tǒng)的設(shè)計(jì)與研發(fā),也負(fù)責(zé)過多個(gè)大型項(xiàng)目的微服務(wù)架構(gòu)的技術(shù)改造,在實(shí)際工作中,積累了大量的微服務(wù)架構(gòu)經(jīng)驗(yàn)。
- >
月亮虎
- >
伊索寓言-世界文學(xué)名著典藏-全譯本
- >
回憶愛瑪儂
- >
羅曼·羅蘭讀書隨筆-精裝
- >
上帝之肋:男人的真實(shí)旅程
- >
羅庸西南聯(lián)大授課錄
- >
詩(shī)經(jīng)-先民的歌唱
- >
苦雨齋序跋文-周作人自編集