注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信分布式服務(wù)架構(gòu):原理、設(shè)計與實戰(zhàn)

分布式服務(wù)架構(gòu):原理、設(shè)計與實戰(zhàn)

分布式服務(wù)架構(gòu):原理、設(shè)計與實戰(zhàn)

定 價:¥89.00

作 者: 李艷鵬,楊彪 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121315787 出版時間: 2017-07-01 包裝: 平裝
開本: 16開 頁數(shù): 400 字數(shù):  

內(nèi)容簡介

  《分布式服務(wù)架構(gòu):原理、設(shè)計與實戰(zhàn)》全面介紹了分布式服務(wù)架構(gòu)的原理與設(shè)計,并結(jié)合作者在實施微服務(wù)架構(gòu)過程中的實踐經(jīng)驗,總結(jié)了保障線上服務(wù)健康、可靠的至佳方案,是一本架構(gòu)級、實戰(zhàn)型的重量級著作?! 斗植际椒?wù)架構(gòu):原理、設(shè)計與實戰(zhàn)》以分布式服務(wù)架構(gòu)的設(shè)計與實現(xiàn)為主線,由淺入深地介紹了分布式服務(wù)架構(gòu)的方方面面,主要包括理論和實踐兩部分。理論上,首先介紹了服務(wù)架構(gòu)的背景,以及從服務(wù)化架構(gòu)到微服務(wù)架構(gòu)的演化;然后提出了保證分布式服務(wù)系統(tǒng)架構(gòu)一致性的方案和模式,并介紹了互聯(lián)網(wǎng)架構(gòu)評審的方法論;zui后給出了一個簡要的非功能質(zhì)量的技術(shù)評審提綱。實踐上,首先提供了一個互聯(lián)網(wǎng)項目的性能和容量評估的真實案例,介紹了壓測的方案設(shè)計和至佳實踐,這些技術(shù)能夠全面保證大規(guī)模、高并發(fā)項目的一致性、可用性和高并發(fā)性;然后講解了大規(guī)模服務(wù)的日志系統(tǒng)的原理、設(shè)計與實踐,包括ELK等框架的特點和使用方式等,并介紹了當(dāng)前流行的APM系統(tǒng)的設(shè)計與實現(xiàn),主要包括調(diào)用鏈和業(yè)務(wù)鏈的跟蹤與恢復(fù),涵蓋了線上應(yīng)急和技術(shù)攻關(guān)的流程及重點,也結(jié)合服務(wù)化系統(tǒng)線上應(yīng)急過程進行分析并總結(jié)了其中需要用到的Java虛擬機、Linux和定制化腳本等命令,這些命令都是每個開發(fā)人員都會用到的解決線上問題的利器;zui后,闡述了系統(tǒng)服務(wù)的容器化過程,并詳細介紹了敏捷開發(fā)流程和實現(xiàn)自動化的常用工具等,讓讀者既能學(xué)到架構(gòu)設(shè)計的基礎(chǔ)理論,也能結(jié)合書中的原理、設(shè)計與方法論來解決大規(guī)模、高并發(fā)互聯(lián)網(wǎng)項目中的現(xiàn)實問題?!o論是對于軟件工程師、測試工程師、運維工程師、軟件架構(gòu)師、技術(shù)經(jīng)理、技術(shù)總監(jiān),還是對于資深I(lǐng)T人士來說,《分布式服務(wù)架構(gòu):原理、設(shè)計與實戰(zhàn)》都有很強的借鑒性和參考價值。

作者簡介

  李艷鵬 現(xiàn)任易寶支付產(chǎn)品中心首席架構(gòu)師,曾在花旗銀行、甲骨文、路透社、新浪微博等大型IT互聯(lián)網(wǎng)公司擔(dān)任技術(shù)負責(zé)人和架構(gòu)師,現(xiàn)專注于大規(guī)模、高并發(fā)的線上和線下支付平臺的應(yīng)用架構(gòu)和技術(shù)架構(gòu)的規(guī)劃與落地,負責(zé)交易、支付、渠道、出款、風(fēng)控、對賬等核心支付系統(tǒng)的設(shè)計與實現(xiàn),對移動支付、聚合支付、合規(guī)賬戶、掃碼支付、標記化支付等業(yè)務(wù)場景有產(chǎn)品應(yīng)用架構(gòu)規(guī)劃與落地的實踐經(jīng)驗?!?彪 現(xiàn)任某創(chuàng)業(yè)公司技術(shù)總監(jiān)及合伙人,在互聯(lián)網(wǎng)和游戲行業(yè)有近10年工作經(jīng)驗,曾在酷我音樂盒、人人游戲和掌趣科技等上市公司擔(dān)任核心研發(fā)職位,在互聯(lián)網(wǎng)公司做過日活躍用戶量達千萬的項目,也在游戲公司做過多款月流水千萬以上的游戲。喜歡研究問題,追求前沿技術(shù),學(xué)無止境。

圖書目錄

第1章 分布式微服務(wù)架構(gòu)設(shè)計原理 1
1.1 從傳統(tǒng)單體架構(gòu)到服務(wù)化架構(gòu) 2
1.1.1 JEE架構(gòu) 2
1.1.2 SSH架構(gòu) 5
1.1.3 服務(wù)化架構(gòu) 8
1.2 從服務(wù)化到微服務(wù) 11
1.2.1 微服務(wù)架構(gòu)的產(chǎn)生 12
1.2.2 微服務(wù)架構(gòu)與傳統(tǒng)單體架構(gòu)的對比 13
1.2.3 微服務(wù)架構(gòu)與SOA服務(wù)化的對比 15
1.3 微服務(wù)架構(gòu)的核心要點和實現(xiàn)原理 16
1.3.1 微服務(wù)架構(gòu)中職能團隊的劃分 16
1.3.2 微服務(wù)的去中心化治理 18
1.3.3 微服務(wù)的交互模式 18
1.3.4 微服務(wù)的分解和組合模式 22
1.3.5 微服務(wù)的容錯模式 35
1.3.6 微服務(wù)的粒度 41
1.4 Java平臺微服務(wù)架構(gòu)的項目組織形式 42
1.4.1 微服務(wù)項目的依賴關(guān)系 42
1.4.2 微服務(wù)項目的層級結(jié)構(gòu) 43
1.4.3 微服務(wù)項目的持續(xù)發(fā)布 45
1.5 服務(wù)化管理和治理框架的技術(shù)選型 45
1.5.1 RPC 46
1.5.2 服務(wù)化 47
1.5.3 微服務(wù) 49
1.6 本章小結(jié) 52
第2章 徹底解決分布式系統(tǒng)一致性的問題 54
2.1 什么是一致性 55
2.2 一致性問題 56
2.3 解決一致性問題的模式和思路 57
2.3.1 酸堿平衡理論 58
2.3.2 分布式一致性協(xié)議 61
2.3.3 保證最終一致性的模式 67
2.4 超時處理模式 75
2.4.1 微服務(wù)的交互模式 76
2.4.2 同步與異步的抉擇 77
2.4.3 交互模式下超時問題的解決方案 78
2.4.4 超時補償?shù)脑瓌t 85
2.5 遷移開關(guān)的設(shè)計 87
2.6 本章小結(jié) 88
第3章 服務(wù)化系統(tǒng)容量評估和性能保障 89
3.1 架構(gòu)設(shè)計與非功能質(zhì)量 90
3.2 全面的非功能質(zhì)量需求 91
3.2.1 非功能質(zhì)量需求的概述 91
3.2.2 非功能質(zhì)量需求的具體指標 92
3.3 典型的技術(shù)評審提綱 97
3.3.1 現(xiàn)狀 97
3.3.2 需求 98
3.3.3 方案描述 98
3.3.4 方案對比 99
3.3.5 風(fēng)險評估 100
3.3.6 工作量評估 100
3.4 性能和容量評估經(jīng)典案例 100
3.4.1 背景 100
3.4.2 目標數(shù)據(jù)量級 101
3.4.3 量級評估標準 101
3.4.4 方案 102
3.4.5 小結(jié) 107
3.5 性能評估參考標準 108
3.5.1 常用的應(yīng)用層性能指標參考標準 108
3.5.2 常用的系統(tǒng)層性能指標參考標準 109
3.6 性能測試方案的設(shè)計和最佳實踐 112
3.6.1 明確壓測目標 112
3.6.2 壓測場景設(shè)計和壓測方案制定 114
3.6.3 準備壓測環(huán)境 121
3.6.4 壓測的執(zhí)行 122
3.6.5 問題修復(fù)和系統(tǒng)優(yōu)化 123
3.7 有用的壓測工具 123
3.7.1 ab 123
3.7.2 jmeter 125
3.7.3 mysqlslap 125
3.7.4 sysbench 129
3.7.5 dd 134
3.7.6 LoadRunner 135
3.7.7 hprof 136
3.8 本章小結(jié) 138
第4章 大數(shù)據(jù)日志系統(tǒng)的構(gòu)建 140
4.1 開源日志框架的原理分析與應(yīng)用實踐 142
4.1.1 JDK Logger 142
4.1.2 Apache Commons Logging 143
4.1.3 Apache Log4j 147
4.1.4 Slf4j 156
4.1.5 Logback 160
4.1.6 Apache Log4j 2 164
4.2 日志系統(tǒng)的優(yōu)化和最佳實踐 168
4.2.1 開發(fā)人員的日志意識 168
4.2.2 日志級別的設(shè)置 168
4.2.3 日志的數(shù)量和大小 169
4.2.4 切割方式 170
4.2.5 日志格式的配置 170
4.2.6 一行日志導(dǎo)致的線上事故 177
4.3 大數(shù)據(jù)日志系統(tǒng)的原理與設(shè)計 178
4.3.1 通用架構(gòu)和設(shè)計 179
4.3.2 日志采集器 180
4.3.3 日志緩沖隊列 186
4.3.4 日志解析器 187
4.3.5 日志存儲和搜索 187
4.3.6 日志展示系統(tǒng) 188
4.3.7 監(jiān)控和報警 188
4.3.8 日志系統(tǒng)的容量和性能評估 188
4.4 ELK系統(tǒng)的構(gòu)建與使用 190
4.4.1 Elasticsearch 191
4.4.2 Logstash 193
4.4.3 Kibana 196
4.5 本章小結(jié) 198
第5章 基于調(diào)用鏈的服務(wù)治理系統(tǒng)的設(shè)計與實現(xiàn) 199
5.1 APM系統(tǒng)簡介 200
5.1.1 優(yōu)秀的開源APM系統(tǒng) 200
5.1.2 國內(nèi)商業(yè)APM產(chǎn)品的介紹 202
5.2 調(diào)用鏈跟蹤的原理 203
5.2.1 分布式系統(tǒng)的遠程調(diào)用過程 204
5.2.2 TraceID 207
5.2.3 SpanID 208
5.2.4 業(yè)務(wù)鏈 210
5.3 調(diào)用鏈跟蹤系統(tǒng)的設(shè)計與實現(xiàn) 211
5.3.1 整體架構(gòu) 211
5.3.2 TraceID和SpanID在服務(wù)間的傳遞 213
5.3.3 采集器的設(shè)計與實現(xiàn) 217
5.3.4 處理器的設(shè)計與實現(xiàn) 222
5.3.5 調(diào)用鏈系統(tǒng)的展示 225
5.4 本章小結(jié) 226
第6章 Java服務(wù)的線上應(yīng)急和技術(shù)攻關(guān) 227
6.1 海恩法則和墨菲定律 227
6.2 線上應(yīng)急的目標、原則和方法 229
6.2.1 應(yīng)急目標 229
6.2.2 應(yīng)急原則 229
6.2.3 線上應(yīng)急的方法和流程 230
6.3 技術(shù)攻關(guān)的方法論 233
6.4 環(huán)境搭建和示例服務(wù)啟動 236
6.5 高效的服務(wù)化治理腳本 240
6.5.1 show-busiest-java-threads 240
6.5.2 find-in-jar 243
6.5.3 grep-in-jar 244
6.5.4 jar-conflict-detect 245
6.5.5 http-spy 247
6.5.6 show-mysql-qps 248
6.5.7 小結(jié) 249
6.6 JVM提供的監(jiān)控命令 249
6.6.1 jad 249
6.6.2 btrace 250
6.6.3 jmap 252
6.6.4 jstat 255
6.6.5 jstack 256
6.6.6 jinfo 258
6.6.7 其他命令 258
6.6.8 小結(jié) 259
6.7 重要的Linux基礎(chǔ)命令 260
6.7.1 必不可少的基礎(chǔ)命令和工具 260
6.7.2 查看活動進程的命令 268
6.7.3 窺探內(nèi)存的命令 270
6.7.4 針對CPU使用情況的監(jiān)控命令 272
6.7.5 監(jiān)控磁盤I/O的命令 273
6.7.6 查看網(wǎng)絡(luò)信息和網(wǎng)絡(luò)監(jiān)控命令 275
6.7.7 Linux系統(tǒng)的高級工具 287
6.7.8 /proc文件系統(tǒng) 288
6.7.9 摘要命令 288
6.7.10 小結(jié) 290
6.8 現(xiàn)實中的應(yīng)急和攻關(guān)案例 291
6.8.1 一次OOM事故的分析和定位 291
6.8.2 一次CPU 100%的線上事故排查 301
6.9 本章小結(jié) 304
第7章 服務(wù)的容器化過程 306
7.1 容器vs虛擬機 306
7.1.1 什么是虛擬機 306
7.1.2 什么是容器 306
7.1.3 容器和虛擬機的區(qū)別 307
7.1.4 容器主要解決的問題 307
7.1.5 Docker的優(yōu)勢 310
7.2 Docker實戰(zhàn) 311
7.2.1 Docker的架構(gòu) 311
7.2.2 Docker的安裝 315
7.2.3 Docker初體驗 319
7.2.4 Docker后臺服務(wù)的管理 322
7.2.5 Docker的客戶端命令 328
7.2.6 Docker Compose編排工具的使用 372
7.3 容器化項目 379
7.3.1 傳統(tǒng)的應(yīng)用部署 380
7.3.2 將應(yīng)用程序部署在虛擬機上 380
7.3.3 容器化部署應(yīng)用 381
7.3.4 Docker實現(xiàn)的應(yīng)用容器化示例 382
7.4 本章小結(jié) 384
第8章 敏捷開發(fā)2.0的自動化工具 385
8.1 什么是敏捷開發(fā)2.0 385
8.1.1 常用的4種開發(fā)模式 385
8.1.2 什么是DevOps 390
8.1.3 敏捷開發(fā)2.0解決的問題 392
8.2 敏捷開發(fā)的自動化流程 393
8.2.1 持續(xù)集成 393
8.2.2 持續(xù)交付和持續(xù)部署 397
8.3 敏捷開發(fā)的常用自動化工具 400
8.3.1 分布式版本控制工具Git 400
8.3.2 持續(xù)集成和持續(xù)交付工具Jenkins 410
8.3.3 基礎(chǔ)平臺管理工具SaltStack 418
8.3.4 Docker容器化工具 421
8.4 本章小結(jié) 422

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號