-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

分布式系統常用技術及案例分析

( 簡體 字)
作者:柳偉衛類別:1. -> 程式設計 -> 綜合
譯者:
出版社:電子工業出版社分布式系統常用技術及案例分析 3dWoo書號: 46175
詢問書籍請說出此書號!

缺書
NT售價: 495

出版日:1/1/2017
頁數:700
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121307713
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

寫作背景
我一直想寫一本關于分布式系統方面的書。一方面是想把個人多年工作中涉及的分布式技術做一下總結,另一方面也想把個人的經驗分享給廣大的讀者朋友。由于我的開發工作大都以Java為主,所以一開始的主題設想是“分布式Java”,書也以開源方式發布在互聯網上(網址為https://github.com/waylau/distributed-java)。
后來,陳曉猛編輯看到了這本開源書,以及我關于分布式系統方面的博文,問我是否有興趣出版分布式相關題材的圖書。當然書的內容不僅僅是“分布式Java”。
對于出書一事,我猶豫良久。首先,本身工作挺忙,實在無暇顧及其他;其次,雖然我之前寫過超過一打的書籍,但多是開源電子書,時間、內容方面自然也就不會有太多約束,幾乎是“想寫就寫,沒有時間就不寫”,這個跟正式出版還是存在比較大的差異的;最后,這本書涉及面相對較廣,需要查閱大量資料,實在是太耗費精力。
但陳曉猛編輯還是鼓勵我能夠去嘗試做這個事情。思索再三,于是我便答應。當然,最后這本書還是在規定時間內完成了。它幾乎耗盡了我寫作期間所有的業余和休息時間。
“不積跬步,無以至千里;不積小流,無以成江海。”雖然整本書從構思到編寫完成的時間不足一年,但書中的大部分知識點,卻是我在多年的學習、工作中積累下來的。之所以能夠實現快速寫作,一方面是做了比較嚴格的時間管理,另一方面也得益于我多年堅持寫博客和開源書的習慣。
內容介紹
本書分為三大部分,即分布式系統基礎理論、分布式系統常用技術以及經典的分布式系統案例分析。第一部分為第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、Apache HBase、Apache Cassandra、Memcached、Redis、MongoDB等。
第6章介紹分布式監控方面常用的技術,包括Nagios、Zabbix、Consul、ZooKeeper等。
第7章介紹常用的分布式版本控制工具,包括Bazaar、Mercurial、Git等。
第8章介紹RESTful API、微服務及容器相關的技術,著重介紹Jersey、Spring Boot、Docker等技術的應用。
第9章和第10章分別介紹以淘寶網和Twitter為代表的國內外知名互聯網企業的大型分布式系統案例,分析其架構設計以及演變過程。
首先,感謝電子工業出版社博文視點公司的陳曉猛編輯,是您鼓勵我將本書付諸成冊,并在我寫作過程中審閱了大量稿件,給予了我很多指導和幫助。感謝工作在幕后的電子工業出版社評審團隊對于本書在校對、排版、審核、封面設計、錯誤改進方面所給予的幫助,使本書得以順利出版發行。
其次,感謝在我十幾年求學生涯中教育過我的所有老師。是你們將知識和學習方法傳遞給了我。感謝我曾經工作過的公司和單位,感謝和我一起共事過的同事和戰友,你們的優秀一直是我追逐的目標,你們所給予的壓力正是我不斷改進自己的動力。
感謝我的父母、妻子Funny和兩個女兒。由于撰寫本書,犧牲了很多陪伴家人的時間。感謝你們對于我工作的理解和支持。
最后,特別要感謝這個時代,互聯網讓所有人可以公平地享受這個時代的成果。感謝那些為計算機、互聯網所做出貢獻的先驅,是你們讓我可以站在更高的“肩膀”上!感謝那些為本書提供靈感的佳作,包括《分布式系統原理與范式》《Unix Network Programming》《Enterprise SOA》《MapReduce Design Patterns》《Hadoop: The Definitive Guide》《Learning Hbase》《Advanced Analytics with Spark》《Pro Git》《Docker in Action》《淘寶技術這十年》《Hatching Twitter》,等等,詳細的書單可以參閱本書最后的“參考文獻”部分。

柳偉衛
2016年11月13日于杭州
內容簡介:

本書分為三大部分,即分布式系統基礎理論、分布式系統常用技術以及經典的分布式系統案例分析。第一部分主要介紹分布式系統基礎理論知識,總結一些在設計分布式系統時需要考慮的范式、知識點以及可能會面臨的問題,其中包括線程、通信、一致性、容錯性、CAP 理論、安全性和并發等相關內容;同時講述分布式系統的常見架構體系,其中也包括最近比較火的RESTful 風格架構、微服務、容器技術等。第二部分主要列舉了在分布式系統應用中經常用到的一些主流技術,并介紹這些技術的作用和用法;這些技術涵蓋了分布式消息服務、分布式計算、分布式存儲、分布式監控系統、分布式版本控制、RESTful、微服務、容器等領域的內容。第三部分選舉了以淘寶網和 Twitter 為代表的國內外知名互聯網企業的大型分布式系統案例,分析其架構設計以及演變過程;這部分相當于是對第二部分零散的技術點做一個“串燒”,讓讀者可以結合技術的理論,看到實戰的效果。

目錄:

第1章 分布式系統基礎知識 1
1.1 概述 2
1.1.1 什么是分布式系統 2
1.1.2 集中式系統VS.分布式系統 3
1.1.3 如何設計分布式系統 4
1.1.4 分布式系統所面臨的挑戰 5
1.2 線程 6
1.2.1 什么是線程 6
1.2.2 進程和線程 7
1.2.3 編程語言中的線程對象 8
1.2.4 SimpleThreads示例 11
1.3 通信 14
1.3.1 網絡基礎知識 14
1.3.2 網絡I/O模型的演進 19
1.3.3 遠程過程調用(RPC) 33
1.3.4 面向消息的通信 41
1.4 一致性 43
1.4.1 以數據為中心的一致性模型 44
1.4.2 以客戶為中心的一致性 45
1.5 容錯性 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最新發展 56
1.7 安全性 57
1.7.1 基本概念 58
1.7.2 加密算法 60
1.7.3 安全通道 63
1.7.4 訪問控制 72
1.8 并發 74
1.8.1 線程與并發 75
1.8.2 并發與并行 75
1.8.3 并發帶來的風險 76
1.8.4 同步(Synchronization) 78
1.8.5 原子訪問(Atomic Access) 83
第2章 分布式系統架構體系 85
2.1 基于對象的體系結構 86
2.1.1 分布式對象 86
2.1.2 微軟DCOM(COM+) 87
2.1.3 CORBA 88
2.1.4 Java RMI 90
2.2 面向服務的架構(SOA) 93
2.2.1 架構VS.標準 94
2.2.2 SOA的基本概念 95
2.2.3 基于Web Services的SOA 97
2.2.4 SOA的演變 112
2.3 REST風格的架構 112
2.3.1 什么是REST 112
2.3.2 REST有哪些特征 113
2.3.3 Java實現REST的例子 115
2.3.4 REST API最佳實踐 125
2.4 微服務架構(MSA) 128
2.4.1 什么是MSA 128
2.4.2 MSA VS. SOA 130
2.4.3 何時采用MSA 134
2.4.4 如何構建微服務 135
2.5 容器技術 139
2.5.1 虛擬化技術 139
2.5.2 容器VS.虛擬機 139
2.5.3 基于容器的持續部署 142
2.6 Serverless架構 149
2.6.1 什么是Serverless架構 150
2.6.2 Serverless典型的應用場景 151
2.6.3 常見的Serverless框架 153
2.6.4 Serverless架構原則 155
2.6.5 例子:使用Serverless實現游戲全球同服 157
第3章 分布式消息服務 164
3.1 Apache ActiveMQ 165
3.1.1 Apache ActiveMQ簡介 165
3.1.2 Apache ActiveMQ安裝配置 166
3.1.3 例子:producer-consumer 173
3.1.4 例子:使用JMX來監控ActiveMQ 174
3.1.5 例子:使用Java實現producer-consumer 176
3.2 RabbitMQ 180
3.2.1 RabbitMQ簡介 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簡介 210
3.3.2 RocketMQ安裝配置 213
3.3.3 例子:使用Java實現producer-consumer 214
3.3.4 RocketMQ最佳實踐 219
3.4 Apache Kafka 223
3.4.1 Apache Kafka簡介 224
3.4.2 Apache Kafka的核心概念 225
3.4.3 Apache Kafka的使用場景 228
3.4.4 Apache Kafka的安裝、配置、使用 229
第4章 分布式計算 236
4.1 MapReduce 237
4.1.1 MapReduce簡介 237
4.1.2 MapReduce的編程模型 238
4.1.3 MapReduce的實現 243
4.1.4 MapReduce的使用技巧 248
4.2 Apache Hadoop 251
4.2.1 Apache Hadoop簡介 252
4.2.2 Apache Hadoop核心組件 253
4.2.3 Apache Hadoop單節點上的安裝配置 254
4.2.4 Apache Hadoop集群上的安裝配置 258
4.2.5 例子:詞頻統計WordCount程序 267
4.3 Apache Spark 272
4.3.1 Apache Spark簡介 272
4.3.2 Apache Spark與Apache Hadoop的關系 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簡介 283
4.4.2 Apache Mesos的安裝、使用 285
4.4.3 設計高可用的Mesos framework 289
第5章 分布式存儲 296
5.1 Bigtable 297
5.1.1 Bigtable簡介 297
5.1.2 Bigtable的數據模型 298
5.1.3 Bigtable的實現 300
5.1.4 Bigtable的性能優化 304
5.2 Apache HBase 308
5.2.1 Apache HBase簡介 308
5.2.2 Apache HBase基本概念 310
5.2.3 Apache HBase架構 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簡介 342
5.3.2 Apache Cassandra的應用場景 345
5.3.3 Apache Cassandra的架構、數據模型 346
5.3.4 用于配置Apache Cassandra的核心組件 347
5.3.5 Apache Cassandra的安裝、配置、使用 349
5.4 Memcached 352
5.4.1 Memcached簡介 352
5.4.2 Memcached的架構 353
5.4.3 Memcached的安裝、使用 355
5.4.4 Memcached客戶端 358
5.5 Redis 370
5.5.1 Redis簡介 370
5.5.2 Redis的下載、安裝、使用 372
5.5.3 Redis的數據類型及抽象 372
5.6 MongoDB 392
5.6.1 MongoDB簡介 392
5.6.2 MongoDB的安裝、配置、運行 394
5.6.3 MongoDB核心概念 401
5.6.4 MongoDB的數據模型 406
5.6.5 示例:Java連接MongoDB 420
第6章 分布式監控 422
6.1 Nagios 423
6.1.1 Nagios簡介 423
6.1.2 Nagios的安裝、使用 424
6.1.3 Nagios監控 428
6.1.4 Nagios插件 446
6.2 Zabbix 448
6.2.1 Zabbix簡介 449
6.2.2 安裝Zabbix 451
6.2.3 Zabbix對于容器的支持 460
6.2.4 Zabbix基本概念 463
6.3 Consul 474
6.3.1 Consul簡介 475
6.3.2 Consul架構 476
6.3.3 Consul的安裝和使用 478
6.3.4 Consul agent 492
6.4 ZooKeeper 501
6.4.1 ZooKeeper簡介 501
6.4.2 ZooKeeper的安裝和使用 505
6.4.3 ZooKeeper內部工作原理 509
6.4.4 例子:ZooKeeper實現barrier和producer-consumer queue 514
第7章 分布式版本控制系統 522
7.1 Bazaar 523
7.1.1 Bazaar簡介 523
7.1.2 Bazaar的核心概念 525
7.1.3 Bazaar的安裝 526
7.1.4 Bazaar的使用 528
7.2 Mercurial 533
7.2.1 Mercurial簡介 533
7.2.2 Mercurial的核心概念 533
7.2.3 Mercurial的安裝 537
7.2.4 Mercurial的使用 538
7.3 Git 545
7.3.1 Git簡介 545
7.3.2 Git的安裝 546
7.3.3 Git的基礎概念 548
7.3.4 Git的使用 551
第8章 RESTful API、微服務及容器技術 578
8.1 Jersey 579
8.1.1 Jersey簡介 579
8.1.2 Jersey的模塊和依賴 580
8.1.3 JAX-RS核心概念 583
8.1.4 例子:用SSE構建實時Web應用 595
8.2 Spring Boot 603
8.2.1 Spring Boot簡介 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簡介 621
8.3.2 Docker的特性 621
8.3.3 Docker的概念和原理 622
8.3.4 Docker Engine的安裝 628
8.3.5 Docker的使用 633
第9章 淘寶網:“雙11”神話的締造者 636
9.1 從LAMP到Java平臺的轉變 637
9.1.1 淘寶網的誕生與發展 637
9.1.2 “平民英雄”LAMP架構 638
9.1.3 數據庫更改為Oracle 639
9.1.4 向Java平臺轉變 642
9.2 堅定不移地走“去IOE”的道路 643
9.2.1 使用小型機、EMC存儲 644
9.2.2 考慮“去IOE” 644
9.2.3 如何去“I” 646
9.2.4 如何去“O” 649
9.2.5 如何去“E” 650
9.3 打造云計算,決戰“雙11” 653
9.3.1 “大淘寶”戰略簡介 653
9.3.2 成立阿里云,專注云計算 656
9.3.3 利用大數據優化物流 660
9.3.4 技術是決勝“雙11”的關鍵 661
第10章 Twitter:實時信息傳遞的王者 664
10.1 緩存,讓響應更快 665
10.1.1 Twitter的誕生 665
10.1.2 RoR的蠻荒時代 666
10.1.3 使用Memcached 667
10.2 服務拆分與治理 668
10.2.1 關系數據庫不是萬靈藥 668
10.2.2 系統拆分,平臺轉換 670
10.2.3 Finagle 670
10.3 抗擊流量的洪流 672
10.3.1 業務的重新設計 673
10.3.2 Storm處理實時的大數據 675
10.3.3 從Storm到Heron 676
參考文獻 680
序: