注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡網(wǎng)絡與數(shù)據(jù)通信高可用可伸縮微服務架構:基于Dubbo、Spring Cloud和Service Mesh

高可用可伸縮微服務架構:基于Dubbo、Spring Cloud和Service Mesh

高可用可伸縮微服務架構:基于Dubbo、Spring Cloud和Service Mesh

定 價:¥108.00

作 者: 程超,梁桂釗,秦金衛(wèi),方志斌,張逸 ... 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121362132 出版時間: 2019-05-01 包裝: 平裝
開本: 16 頁數(shù): 528 字數(shù):  

內(nèi)容簡介

  近年來微服務架構已經(jīng)成為大規(guī)模分布式架構的主流技術,越來越多的公司已經(jīng)或開始轉(zhuǎn)型為微服務架構?!陡呖捎每缮炜s微服務架構:基于Dubbo、Spring Cloud和Service Mesh》不以某一種微服務框架的使用為主題,而是對整個微服務生態(tài)進行系統(tǒng)性的講解,并結合工作中的大量實戰(zhàn)案例為讀者呈現(xiàn)一本讀完即可實際上手應用的工具書?!陡呖捎每缮炜s微服務架構:基于Dubbo、Spring Cloud和Service Mesh》中的理論部分介紹了微服務架構的發(fā)展歷程,通俗地講解了領域驅(qū)動設計,幫助讀者更好地利用DDD來建模和劃分服務;微服務穩(wěn)定性保證的常用手段和微服務下如何保證事務的一致性這兩章凝聚了作者多年的積累和思考,相信讀者看完后會有不一樣的感觸和收獲;書中實戰(zhàn)部分的內(nèi)容非常豐富,以項目為基礎,逐層介紹常見的Dubbo、Spring Cloud和Service Mesh框架的具體使用方法,并對實現(xiàn)原理進行剖析;書中還以具體案例全面介紹了微服務雙活體系建設、微服務監(jiān)控與告警、微服務編排、百億流量微服務網(wǎng)關的設計與實現(xiàn),以及基于支付場景下的微服務改造等,并讓讀者了解如何借助微服務來增強和重構現(xiàn)有的遺留系統(tǒng)。不管是剛接觸微服務的新手,還是正在嘗試借助微服務解放生產(chǎn)力的開發(fā)人員或運維人員,甚至是立志于構建高可用可伸縮的微服務體系的技術Leader和架構師,閱讀本書,對讀者必有裨益。

作者簡介

  程超,網(wǎng)名小程故事多,現(xiàn)任某公司高級架構師,超過12年的Java研發(fā)經(jīng)驗,8年技術管理和架構經(jīng)驗,熟悉支付和電商領域,擅長微服務生態(tài)建設和運維監(jiān)控,對Dubbo、Spring Cloud和gRPC等微服務框架有深入研究,幫助多家公司進行過微服務建設和改造。合著作品《深入分布式緩存》,阿里云MVP、云棲社區(qū)外部專家、Codingfly社區(qū)特聘技術專家、CSDN博主專家。梁桂釗,現(xiàn)任某互聯(lián)網(wǎng)公司高級開發(fā)工程師,參與過內(nèi)容分發(fā)、K12 教育、淘系電商等項目。目前,專注于新零售電商服務的業(yè)務摸索和電商服務創(chuàng)新實踐。具有Java核心技術、微服務、分布式、高并發(fā)等領域一線實戰(zhàn)經(jīng)驗,并對新興技術方向和各種開源框架有濃厚興趣。公眾號「服務端思維」的作者。 秦金衛(wèi)(KimmKing),現(xiàn)任某公司高級技術總監(jiān)/Apache Dubbo PPMC,阿里前架構師/某商業(yè)銀行北京研發(fā)中心負責人。關注互聯(lián)網(wǎng)、電商、金融、支付、區(qū)塊鏈等領域,10多年研發(fā)管理和架構經(jīng)驗,對于中間件、SOA、微服務,以及各種開源技術非常熱衷,活躍于Dubbo、Fastjson、Mule、ActiveMQ等多個開源社區(qū)。個人博客http://kimmking.github.io。 方志斌,現(xiàn)任某物聯(lián)網(wǎng)公司高級研發(fā)工程師。目前專注于大型物聯(lián)網(wǎng)平臺架構的設計與開發(fā)工作。對于微服務、分布式、集群有一定的研究和實戰(zhàn)經(jīng)驗。對Java領域的開源框架有濃厚的興趣,喜歡深入分析、總結框架源碼。SpringForAll社區(qū)核心成員,組織多次社區(qū)技術專題、問答等活動。張逸,架構編碼實踐者,微服務架構設計者,領域驅(qū)動設計布道師,大數(shù)據(jù)平臺架構師。著譯作包括《軟件設計精要與模式》《恰如其分的軟件架構》《人件》等。個人微信公眾號為「逸言」,個人博客:http://zhangyi.xyz。杜琪,網(wǎng)名阿杜,現(xiàn)任螞蟻金服高級研發(fā)工程師,2015年6月畢業(yè)于南開大學,計算機系統(tǒng)結構碩士。畢業(yè)后開始接觸分布式業(yè)務系統(tǒng)開發(fā),曾在有贊負責用戶中心基礎服務,對分布式業(yè)務系統(tǒng)的穩(wěn)定性、可靠性有豐富的經(jīng)驗。喜歡研究底層技術,喜歡研究疑難技術問題,例如JVM內(nèi)存問題排查、GC調(diào)優(yōu),等等。有對外輸出分享的習慣,是公眾號javaadu的維護者。殷琦,網(wǎng)名滌生,現(xiàn)任“美團點評”技術專家,2015年3月畢業(yè)于東華大學,軟件工程碩士。2015年3月加入“美團點評”基礎架構部,開始接觸微服務架構,之后一直從事服務框架的研發(fā)工作,對微服務架構發(fā)展與演進有非常深刻的認識。個人比較喜歡研究并分享新技術,時刻關注并實踐微服務架構前沿的技術,如Service Mesh、Serverless 等。 肖冠宇,曾就職于小米、人民網(wǎng)等互聯(lián)網(wǎng)公司,具有豐富的大數(shù)據(jù)一線實戰(zhàn)經(jīng)驗,專注大數(shù)據(jù)處理技術及機器學習算法研究。著有《企業(yè)大數(shù)據(jù)處理:Spark、Druid、Flume與Kafka應用實踐》《Python3快速入門與實戰(zhàn)》等書籍。

圖書目錄

1.1 什么是架構 1
1.2 幾個相關概念 3
1.3 從軟件的生命周期看架構設計 7
1.4 架構的形式與特點 9
1.5 架構的目標與方法 13
1.6 架構的不同風格 18
第2章 微服務領域驅(qū)動設計 30
2.1 領域驅(qū)動設計 31
2.1.1 領域驅(qū)動設計概覽 31
2.1.2 問題域與解決方案域 34
2.1.3 限界上下文 35
2.1.4 上下文映射 40
2.1.5 領域架構 43
2.2 微服務的設計 48
2.2.1 限界上下文的邊界 48
2.2.2 限界上下文即微服務 51
2.2.3 識別限界上下文 53
2.2.4 微服務之間的協(xié)作 59
2.3 小結 63
第3章 Apache Dubbo框架的原理與實現(xiàn) 64
3.1 Dubbo框架的選型與使用 64
3.1.1 Dubbo框架的選型 64
3.1.2 Dubbo框架的使用 65
3.2 Dubbo框架的原理分析 70
3.2.1 總體架構分析 70
3.2.2 Dubbo Bean的加載 73
3.2.3 Dubbo Extension機制 77
3.2.4 Dubbo消費端 91
3.2.5 Dubbo服務端 126
3.2.6 Dubbo的通信機制 144
3.3 基于Dubbo的自動化Mock系統(tǒng) 165
3.3.1 Mock模擬系統(tǒng)的產(chǎn)生 166
3.3.2 Dubbo Mock的使用 167
3.3.3 Dubbo Mock的原理解析 168
3.3.4 自動化Mock系統(tǒng)的實現(xiàn) 170
第4章 Spring Boot/Spring Cloud實踐 177
4.1 Spring Boot原理剖析 178
4.1.1 Spring Boot Quick Start 178
4.1.2 Spring Boot之SpringApplication 180
4.1.3 spring-boot-loaded模塊分析 186
4.1.4 spring-boot-autoconfigure模塊分析 190
4.1.5 Spring Boot Conditional注解分析 195
4.2 Dubbo Spring Boot Starter 198
4.2.1 Dubbo Spring Boot Starter簡介 198
4.2.2 Dubbo Initializr及sample 198
4.2.3 dubbo-spring-boot-autoconfigure模塊 201
4.2.4 dubbo-spring-boot-actuator模塊 204
4.3 Spring Cloud棧 211
4.3.1 為什么微服務架構需要Spring Cloud 212
4.3.2 Spring Cloud技術??傆[ 214
4.3.3 spring-cloud-scaffold基礎庫集合 215
4.4 基于Maven Archetype的腳手架 239
4.4.1 Maven Archetype 239
4.4.2 腳手架的搭建 240
4.4.3 生成腳手架 247
第5章 微服務穩(wěn)定性保證的常用手段 250
5.1 微服務的穩(wěn)定性 250
5.2 高可用 250
5.2.1 限流原理與實現(xiàn) 250
5.2.2 斷路器原理與實現(xiàn) 256
5.2.3 超時與重試 260
5.3 高并發(fā) 262
5.3.1 異步 263
5.3.2 緩存 270
5.4 總結 272
第6章 微服務下如何保證事務的一致性 273
6.1 從本地事務到分布式事務的演變 273
6.2 強一致性解決方案 276
6.2.1 二階段提交協(xié)議 276
6.2.2 三階段提交協(xié)議 278
6.3 最終一致性解決方案 280
6.3.1 TCC模式 280
6.3.2 補償模式 285
6.3.3 可靠事件模式 286
6.4 開源項目的分布式事務實現(xiàn)解讀 288
6.4.1 Apache RocketMQ 288
6.4.2 ServiceComb 289
第7章 百億流量微服務網(wǎng)關的設計與實現(xiàn) 293
7.1 API網(wǎng)關概述 293
7.1.1 分布式服務架構、微服務架構與 API 網(wǎng)關 293
7.1.2 API網(wǎng)關的定義、職能與關注點 296
7.1.3 API網(wǎng)關的分類與技術分析 298
7.2 開源網(wǎng)關的分析與調(diào)研 300
7.2.1 常見的開源網(wǎng)關介紹 300
7.2.2 四大開源網(wǎng)關的對比分析 308
7.2.3 開源網(wǎng)關的技術總結 309
7.3 百億流量交易系統(tǒng)API網(wǎng)關設計 310
7.3.1 百億流量交易系統(tǒng)API網(wǎng)關的現(xiàn)狀和面臨問題 310
7.3.2 業(yè)務網(wǎng)關的設計與最佳實踐 313
第8章 微服務編排 317
8.1 Netflix Conductor 317
8.2 Netflix Conductor的架構 319
8.3 Conductor的使用案例 320
8.4 Netflix Conductor源碼分析 328
8.4.1 Client層源碼分析 330
8.4.2 Server端源碼分析 337
8.4.3 core端源碼分析 344
第9章 微服務數(shù)據(jù)抽取與統(tǒng)計 356
9.1 案例小故事 356
9.2 數(shù)據(jù)倉庫概述 358
9.2.1 什么是數(shù)據(jù)倉庫 358
9.2.2 數(shù)據(jù)倉庫架構 360
9.2.3 數(shù)據(jù)倉庫建模方法 361
9.2.4 數(shù)據(jù)抽取、轉(zhuǎn)換和加載 361
9.2.5 數(shù)據(jù)統(tǒng)計 362
9.3 數(shù)據(jù)倉庫工具Hive 362
9.3.1 安裝Hive 364
9.3.2 Hive數(shù)據(jù)庫 366
9.3.3 Hive表 367
9.4 使用Sqoop抽取數(shù)據(jù) 369
9.4.1 安裝Sqoop 370
9.4.2 將MySQL表數(shù)據(jù)導入Hive表 372
9.5 ETL作業(yè)調(diào)度 375
第10章 微服務雙活體系建設 377
10.1 系統(tǒng)高可用 377
10.2 雙活數(shù)據(jù)中心 379
10.2.1 單機房部署 379
10.2.2 雙機房部署 380
10.2.3 基于支付場景的雙活體系建設 383
第11章 基于支付場景下的微服務改造與性能優(yōu)化 399
11.1 支付場景的介紹 399
11.2 支付業(yè)務建模和服務劃分 400
11.3 支付場景下微服務架構的詳解與分析 402
11.3.1 業(yè)務架構分析 402
11.3.2 技術平臺詳解 404
11.4 從代碼層面提升微服務架構的性能 407
11.4.1 從代碼和設計的角度看 407
11.4.2 從整體架構的角度看 418
11.5 微服務架構中常見的一些故障分析技巧 421
第12章 遺留系統(tǒng)的微服務架構改造 426
12.1 代碼分層結構的轉(zhuǎn)變 426
12.2 遺留系統(tǒng)的債券與思考 430
12.3 從單體系統(tǒng)拆分服務的方法論 431
12.4 遺留系統(tǒng)的微服務架構改造 436
12.4.1 從代碼重構開始 436
12.4.2 拆分服務需要面向服務進行架構設計 437
12.4.3 改造是一個漸進的過程 437
12.4.4 單元測試是基石 440
12.4.5 面向失敗的設計 440
12.4.6 前后端分離 441
12.4.7 共享現(xiàn)有數(shù)據(jù)庫 441
12.4.8 灰度發(fā)布的必要性 442
12.4.9 日志聚合與全鏈路監(jiān)控 442
第13章 Service Mesh詳解 443
13.1 Service Mesh是什么 443
13.2 Service Mesh的背景 443
13.3 Service Mesh介紹 444
13.3.1 Service Mesh架構 444
13.3.2 Service Mesh能做什么 445
13.4 Service Mesh的價值 446
13.5 Service Mesh現(xiàn)狀 447
13.6 Service Mesh存在的問題 448
13.7 Istio詳解 449
13.7.1 Istio架構 449
13.7.2 數(shù)據(jù)平面 450
13.7.3 控制平面 455
13.7.4 Isito案例 458
13.8 Service Mesh展望 461
第14章 微服務監(jiān)控實戰(zhàn) 463
14.1 APM原理與應用 464
14.1.1 什么是APM 464
14.1.2 APM監(jiān)控點 464
14.1.3 APM深入解析 464
14.2 Prometheus監(jiān)控系統(tǒng)介紹 492
14.2.1 Prometheus的主要特點 493
14.2.2 Prometheus的架構及組件介紹 493
14.2.3 Prometheus的安裝 494
14.2.4 使用Prometheus對MySQL進行監(jiān)控 498
14.2.5 Prometheus的告警機制 501

本目錄推薦

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