微服務體系建設和實踐

微服務體系建設和實踐

作者: 任鋼
出版社: 電子工業
出版在: 2019-08-01
ISBN-13: 9787121368721
ISBN-10: 7121368722





內容描述


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


目錄大綱


目錄

第一部分微服務體系概述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松耦合和敏捷性要求之間的辯證關係1 7 
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基於的微服務開發框架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 
□□2章新建系統的業務微服務全生命週期過程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




相關書籍

響應式網頁程序設計HTML5、CSS3、JavaScript、jQuery、jQuery

作者 陳惠貞

2019-08-01

接案我最行! HTML5 + CSS3 + JavaScript 商業範例必殺技

作者 MdN輯部 汪牧君 譯

2019-08-01

統計學,最強的商業武器 從買樂透到大數據,全都離不開統計學;不懂統計學,你就等著被騙吧! (Statistics, literacy for the next generation)

作者 西內啟 陳亦苓 譯

2019-08-01