微服務體系建設和實踐

微服務體系建設和實踐

微服務體系建設和實踐是由電子工業出版社出版的圖書,作者任鋼。

基本介紹

  • 書名:微服務體系建設和實踐
  • 作者:任鋼 著
  • ISBN:978-7-121-36872-1
  • 頁數:436頁
  • 定價:99.00元 
  • 出版社:電子工業出版社
  • 出版時間:2019年8月出版
  • 開本:16開
內容提要,目錄,

內容提要

《微服務體系建設和實踐》採用體系化的思維來詮釋和構建微服務體系,從整體上講述微服務體系的技術、架構、框架、管理整合和規劃實施等內容。本書不針對某個微服務技術或框架用法進行細節說明,而是對微服務的整體領域進行概述,同時說明如何實踐、如何驗證、如何落地。本書脈絡清晰,內容翔實,引導讀者不僅“知其然”,而且還“知其所以然”。
《微服務體系建設和實踐》適合希望從初級技能水平提升到高級技能水平的讀者閱讀。閱讀本書後,讀者會對微服務有一個整體的、深層次的、體系化的認識。

目錄

第1部分 微服務體系概述 1
第1章 微服務概述 2
1.1 微服務史話 2
1.1.1 微服務史話總述 2
1.1.2 第一個時代是單體套用的C/S客戶伺服器時代 4
1.1.3 第二個時代是分散式組件化套用時代 5
1.1.4 第三個時代是SOA(面向服務架構)時代 6
1.1.5 第四個時代是微服務架構時代 8
1.2 現階段微服務的基本概念 10
1.2.1 微服務的基本概念 10
1.2.2 微服務的內涵和外延 12
1.2.3 微服務架構(MSA)的定義 13
1.2.4 MSA和SOA的比較 14
1.3 關於微服務的一些辯證關係 16
1.3.1 選擇單體套用系統和微服務套用系統的辯證關係 16
1.3.2 微服務顆粒度大小的辯證關係 17
1.3.3 微服務進程內外之間的辯證關係 17
1.3.4 組件獨立性和共享性之間的辯證關係 17
1.3.5 關於去中心化和管理規範化之間的辯證關係 17
1.3.6 松耦合和敏捷性要求之間的辯證關係 17
1.3.7 投入成本和複雜度之間的辯證關係 18
1.3.8 微服務靈活性與性能的辯證關係 18
1.3.9 微服務安全性與無狀態性之間的辯證關係 18
1.4 微服務是未來方向嗎 18
1.5 本章小結 19
第2章 微服務體系概況 20
2.1 關於體系化 20
2.1.1 體系化的整體性 20
2.1.2 體系化的結構性 21
2.1.3 體系化的綜合性 21
2.1.4 體系化的動態性 21
2.2 採用微服務的願景 22
2.3 微服務體系的概念 23
2.3.1 關於微服務體系的特徵 24
2.3.2 微服務體系的整體性 25
2.3.3 微服務體系的結構性 26
2.3.4 微服務體系的綜合性 27
2.3.5 微服務體系的動態性 28
2.4 微服務體系建設方法論 29
2.5 微服務體系與雲原生架構的區別 30
2.5.1 雲原生架構簡介 30
2.5.2 微服務體系與雲原生架構的不同之處 32
2.6 微服務體系與API開放框架平台的關係 33
2.7 微服務體系生態系統 35
2.8 本章小結 36
第2部分 微服務技術體系 37
第3章 微服務技術體系及實現技術 39
3.1 微服務技術體系的體系化 39
3.1.1 基本概念澄清 39
3.1.2 微服務技術體系的整體性 41
3.1.3 微服務技術體系的結構性 42
3.2 微服務技術體系的層次及其關係 42
3.2.1 總體層次結構 42
3.2.2 微服務技術體系的實現技術體系 45
3.2.3 微服務技術體系的技術架構體系 46
3.2.4 微服務技術體系的技術框架體系 46
3.2.5 微服務技術體系的集成環境平台 47
3.2.6 微服務技術體系的基礎設施環境 47
3.3 微服務的實現技術 48
3.3.1 總體說明 48
3.3.2 通信技術 48
3.3.3 分散式架構 57
3.3.4 容器技術 75
3.3.5 安全協定 80
3.4 實現微服務的集成平台自動化工具 84
3.4.1 集成平台自動化工具綜述 84
3.4.2 研發自動化工具 85
3.4.3 CI/CD自動化工具 86
3.4.4 運維自動化工具 88
3.5 微服務的基礎設施環境 92
3.5.1 IaaS平台 92
3.5.2 雲管理平台 93
3.6 本章小結 96
第4章 微服務技術架構體系 98
4.1 微服務技術架構體系概述 98
4.1.1 微服務技術架構的概念 98
4.1.2 微服務技術架構的整體性 100
4.1.3 微服務技術架構的優勢和挑戰 101
4.2 微服務運行時服務架構的組成部分 103
4.2.1 微服務組件的形式和特徵 103
4.2.2 微服務組件的調用方式 103
4.2.3 微服務組件的契約驅動模式 104
4.3 微服務運行時基礎架構的組成部分 105
4.3.1 微服務運行時基礎架構概述 105
4.3.2 微服務的服務發現和註冊組件 107
4.3.3 微服務的API網關組件 116
4.3.4 微服務的服務容錯組件及其模式 122
4.3.5 監控告警日誌組件 146
4.3.6 認證授權組件 158
4.3.7 統一配置管理組件 165
4.4 微服務運行時後端架構的組成部分 169
4.4.1 訊息佇列中間件 169
4.4.2 關係存儲及其相關管理工具 169
4.4.3 分散式NoSQL資料庫 169
4.4.4 NewSQL數據存儲區 170
4.4.5 檔案數據存儲區 170
4.4.6 數據流平台 170
4.5 微服務技術架構設計模式 170
4.5.1 微服務技術架構設計模式概述 171
4.5.2 常用的微服務技術架構設計模式 171
4.5.3 微服務技術架構設計模式及其特性 172
4.6 本章小結 179
第5章 微服務技術框架體系 181
5.1 微服務技術框架概述 181
5.1.1 微服務技術框架的基本概念 181
5.1.2 微服務技術框架實現的功能 181
5.1.3 微服務技術框架分類 183
5.1.4 選擇微服務技術框架需要考慮的因素 185
5.2 開發型微服務基礎框架平台 186
5.2.1 Netflix微服務框架 186
5.2.2 Spring Cloud微服務框架 188
5.2.3 Microsoft Azure Service Fabric微服務框架 191
5.2.4 Lightbend的Lagom框架 194
5.2.5 Microdot Framework微服務框架 196
5.2.6 Dubbo分散式服務框架 197
5.2.7 Spotify的Apollo框架 199
5.2.8 Steeltoe微服務框架 200
5.2.9 其他的微服務框架 202
5.3 運維型微服務基礎框架平台 204
5.3.1 Kubernetes微服務框架 204
5.3.2 Docker Swarm微服務框架 212
5.3.3 ZeroC IceGrid微服務框架 215
5.3.4 Istio微服務框架 217
5.4 Serverless型微服務基礎框架平台 219
5.4.1 Serverless型微服務基礎框架平台架構 219
5.4.2 AWS Lambda框架 222
5.4.3 其他的Serverless框架平台 224
5.5 微服務開發框架平台 225
5.5.1 總體說明 225
5.5.2 基於Java的微服務開發框架 226
5.5.3 基於Microsoft.NET Framework的微服務開發框架 232
5.5.4 基於JavaScript的微服務開發框架 233
5.5.5 基於PHP的微服務開發框架 233
5.5.6 基於Go的微服務開發框架 234
5.5.7 基於Python的微服務開發框架 234
5.6 本章小結 234
第3部分 微服務業務體系 237
第6章 微服務業務體系概述 238
6.1 微服務業務體系的定義 238
6.2 與微服務業務體系相關的一些基本概念 242
6.2.1 技術微服務和業務微服務 242
6.2.2 業務服務和業務微服務 242
6.2.3 業務微服務設計層和業務微服務實現層 243
6.2.4 微服務技術架構和微服務業務架構 243
6.3 業務微服務解決的核心問題 244
6.3.1 業務微服務的邊界 244
6.3.2 業務微服務的顆粒度大小 247
6.4 業務微服務的組織和集成 249
6.4.1 業務微服務的內部構成 249
6.4.2 業務微服務的內部設計模式 250
6.4.3 業務微服務的外部關係集成 259
6.5 實現業務微服務的相關架構 260
6.6 本章小結 261
第7章 業務微服務分析設計方法論 263
7.1 總體說明和業務場景描述 263
7.1.1 業務微服務的組成部分 263
7.1.2 業務邏輯的架構模式及實現 264
7.1.3 業務場景描述 265
7.2 普通服務分析和設計 270
7.2.1 資產管理微服務分析和定義 270
7.2.2 普通服務分析和設計概述 271
7.2.3 具體套用場景的普通服務分析和設計 273
7.3 領域驅動設計和微服務 279
7.3.1 領域驅動設計概述 279
7.3.2 基於領域驅動設計的業務微服務架構 282
7.3.3 基於領域驅動設計的業務微服務架構設計和實現 284
7.4 六邊形架構分析和設計 292
7.4.1 六邊形架構概述 292
7.4.2 基於六邊形架構的業務微服務架構 295
7.4.3 基於六邊形架構的業務微服務設計和實現 297
7.5 Clean架構分析和設計 304
7.5.1 Clean架構概述 304
7.5.2 基於Clean架構的業務微服務架構 307
7.5.3 基於Clean架構案例的設計和實現 308
7.6 DCI架構分析和設計 311
7.6.1 DCI架構概述 311
7.6.2 基於DCI架構的業務微服務架構 314
7.6.3 基於DCI架構的業務微服務架構設計和實現 315
7.7 CQRS架構分析和設計 318
7.7.1 CQRS架構概述 318
7.7.2 基於CQRS架構的業務微服務架構 319
7.7.3 基於CQRS架構的業務微服務架構設計和實現 320
7.8 本章小結 321
第4部分 微服務管理體系 323
第8章 微服務管理體系概述 324
8.1 微服務管理體系的定義 324
8.2 微服務管理體系的內容 325
8.3 微服務套用成熟度級別 327
8.3.1 定義微服務套用成熟度級別的緣由 327
8.3.2 微服務套用成熟度級別及其特徵 327
8.3.3 產品級微服務套用成熟度特徵描述 329
8.4 微服務套用的“12要素”原則 333
8.4.1 “12要素”原則簡介 334
8.4.2 微服務套用的“12要素”原則 334
8.5 微服務規範 339
8.5.1 微服務規範和工具概述 339
8.5.2 微服務基礎規範 340
8.5.3 微服務技術規範 340
8.5.4 微服務管理規範 340
8.6 微服務度量指標 342
8.6.1 度量指標概述 342
8.6.2 微服務的8個度量指標 343
8.7 本章小結 349
第9章 微服務套用的組織、人員和文化 350
9.1 單體架構套用的團隊問題 350
9.2 微服務對組織、人員和文化的影響 351
9.2.1 圍繞業務功能的組織 352
9.2.2 開發團隊和運維團隊不能分離 352
9.2.3 微服務團隊的決策機制 352
9.2.4 微服務團隊的規模 353
9.2.5 微服務對運維方式的影響 353
9.3 根據微服務的需要調整組織、人員和文化 354
9.3.1 組織團隊的調整 354
9.3.2 倡導新文化和新行為 357
9.3.3 培養必要的新技能和新能力 358
9.3.4 微服務化小團隊的組織和管理 359
9.3.5 組織結構的INVEST原則 360
9.4 本章小結 361
第10章 微服務的開發和運維流程 362
10.1 軟體開發流程的演化歷史 362
10.1.1 瀑布開發模式 362
10.1.2 快速原型模式 363
10.1.3 疊代模式 364
10.1.4 敏捷開發模式 366
10.1.5 微服務開發模式 367
10.1.6 DevOps模式 367
10.2 DevOps概述 368
10.2.1 DevOps的定義及其內容 368
10.2.2 企業實施DevOps的方式 369
10.2.3 微服務架構對DevOps的影響 370
10.3 在微服務下DevOps的實現 371
10.3.1 微服務的開發和運維流程概述 371
10.3.2 更多、更快地回響業務需求 373
10.3.3 開發和運維過程管理的敏捷性 374
10.3.4 最佳化質量保證流程 375
10.3.5 加強安全和治理管理 376
10.3.6 整合工具鏈構建DevOps平台 377
10.4 本章小結 378
第5部分 微服務體系建設實踐 379
第11章 傳統架構遷徙到微服務架構 380
11.1 遷徙的必要性 380
11.1.1 外部環境的挑戰 380
11.1.2 業務方面的原因 381
11.1.3 技術方面的原因 382
11.1.4 管理方面的原因 383
11.2 需要考慮的問題 383
11.2.1 業務方面的問題 383
11.2.2 技術方面的問題 383
11.2.3 管理方面的問題 384
11.2.4 支撐方面的問題 384
11.3 傳統架構遷徙到微服務架構的原則 385
11.4 傳統架構遷徙到微服務架構的策略 385
11.4.1 整體改造,一步到位策略 386
11.4.2 試點入手,逐步推進策略 386
11.4.3 新功能、新服務策略 386
11.4.4 膠水層策略 387
11.4.5 絞殺策略 388
11.5 傳統架構遷徙到微服務架構的實施流程 389
11.5.1 當前系統梳理和需求整理 389
11.5.2 確定目標、原則和策略 390
11.5.3 規劃和計畫 391
11.5.4 技術選型和確定 392
11.5.5 業務分析和拆分 395
11.5.6 團隊、流程和人員改進 397
11.5.7 實施管理 398
11.5.8 演化和改進 399
11.6 本章小結 400
第12章 新建系統的業務微服務全生命周期過程 402
12.1 業務微服務全生命周期過程概述 402
12.2 產品或平台微服務化需要考慮的問題 402
12.2.1 是否一定要採用微服務架構 403
12.2.2 平台微服務架構設計的思考維度 403
12.2.3 產品或平台微服務的基本原則 404
12.3 產品或平台業務微服務的建設步驟 404
12.3.1 平台業務微服務的架構願景 405
12.3.2 平台業務微服務的規劃、原則和策略 406
12.3.3 業務微服務的識別和分析 407
12.3.4 業務微服務的套用場景分析(服務建模) 408
12.3.5 業務微服務的設計 409
12.3.6 業務微服務的實現 410
12.3.7 業務微服務的套用 410
12.3.8 業務微服務的改進和退出 411
12.4 本章小結 412

相關詞條

熱門詞條

聯絡我們