国产精品一久久香蕉产线看/亚洲图区欧美/亚洲国产精品电影人久久网站/欧美日韩在线视频一区

歡迎光臨中圖網 請 | 注冊
> >>
云計算與虛擬化技術叢書微服務架構設計模式

包郵 云計算與虛擬化技術叢書微服務架構設計模式

出版社:機械工業出版社出版時間:2019-04-01
開本: 16開 頁數: 455
中 圖 價:¥84.8(6.1折) 定價  ¥139.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

云計算與虛擬化技術叢書微服務架構設計模式 版權信息

  • ISBN:9787111624127
  • 條形碼:9787111624127 ; 978-7-111-62412-7
  • 裝幀:簡裝本
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>>

云計算與虛擬化技術叢書微服務架構設計模式 本書特色

成功地開發基于微服務架構的應用軟件,需要掌握一系列全新的架構思想和實踐。在這本獨特的書籍中,世界十大軟件架構師之一、微服務架構先驅 Chris Richardson 收集、分類并解釋了 44 個架構設計模式,這些模式用來解決諸如服務拆分、事務管理、查詢和跨服務通信等難題。

本書將教會你如何開發和部署生產級別的微服務架構應用。這套寶貴的架構設計模式建立在數十年的分布式系統經驗之上,Chris 還為開發服務添加了新的模式,并將它們組合成可在真實條件下可靠地擴展和執行的系統。本書不僅僅是一個模式目錄,還提供了經驗驅動的建議,以幫助你設計、實現、測試和部署基于微服務的應用程序。
本書包含:
如何(以及為什么)使用微服務架構
服務拆分的策略
事務管理和查詢相關的模式成功地開發基于微服務架構的應用軟件,需要掌握一系列全新的架構思想和實踐。在這本獨特的書籍中,世界十大軟件架構師之一、微服務架構先驅 Chris Richardson 收集、分類并解釋了 44 個架構設計模式,這些模式用來解決諸如服務拆分、事務管理、查詢和跨服務通信等難題。

本書將教會你如何開發和部署生產級別的微服務架構應用。這套寶貴的架構設計模式建立在數十年的分布式系統經驗之上,Chris 還為開發服務添加了新的模式,并將它們組合成可在真實條件下可靠地擴展和執行的系統。本書不僅僅是一個模式目錄,還提供了經驗驅動的建議,以幫助你設計、實現、測試和部署基于微服務的應用程序。
本書包含:
如何(以及為什么)使用微服務架構
服務拆分的策略
事務管理和查詢相關的模式
高效的測試策略
包括容器和Serverless在內的部署模式

本書專為熟悉標準企業應用程序架構的開發人員編寫,使用 Java 編寫所有示例代碼。

云計算與虛擬化技術叢書微服務架構設計模式 內容簡介

本書共13章,章引入了微服務架構模式語言的概述;第2章解釋了為什么軟件架構很重要,并描述了可用于將應用程序分解為服務的模式;第3章介紹了微服務架構中強大的進程間通信的幾種模式;第4章介紹Saga模式;第5章介紹領域驅動設計(DDD)的聚合和領域事件等模式的使用;第6章介紹如何使用事件溯源模式;第7章介紹如何使用 API 組合模式或命令查詢責任隔離(CQRS)模式;第8章介紹外部 API 模式;第9章和0章介紹微服務自動化測試技術;1章介紹開發生產就緒服務的各個方面;2章介紹部署模式;3章介紹絞殺者模式。

云計算與虛擬化技術叢書微服務架構設計模式 目錄

◆目錄 ◆目  錄
寫給中文版讀者的話
譯者序
中文版序一
中文版序二
前言
引言
第1章 逃離單體地獄 / 1
1.1 邁向單體地獄的漫長旅程 / 2
1.1.1 FTGO應用程序的架構 / 3
1.1.2 單體架構的好處 / 4
1.1.3 什么是單體地獄 / 4
1.2 為什么本書與你有關 / 7
1.3 你會在本書中學到什么 / 8
1.4 拯救之道:微服務架構 / 8
1.4.1 擴展立方體和服務 / 9
1.4.2 微服務架構作為模塊化的一種形式 / 11
1.4.3 每個服務都擁有自己的數據庫 / 12
1.4.4 FTGO的微服務架構 / 12
1.4.5 微服務架構與SOA的異同
/ 14
1.5 微服務架構的好處和弊端 / 15
1.5.1 微服務架構的好處 / 15
1.5.2 微服務架構的弊端 / 17
1.6 微服務架構的模式語言 / 19
1.6.1 微服務架構并不是“銀彈” / 20
1.6.2 模式和模式語言 / 21
1.6.3 微服務架構的模式語言概述 / 24
1.7 微服務之上:流程和組織 / 29
1.7.1 進行軟件開發和交付的組織 / 30
1.7.2 進行軟件開發和交付的流程 / 31
1.7.3 采用微服務架構時的人為因素 / 32
第2章 服務的拆分策略 / 34
2.1 微服務架構到底是什么 / 35
2.1.1 軟件架構是什么,為什么它如此重要 / 35
2.1.2 什么是架構的風格 / 37
2.1.3 微服務架構是一種架構風格 / 40
2.2 為應用程序定義微服務架構 / 43
2.2.1 識別系統操作 / 45
2.2.2 根據業務能力進行服務拆分 / 50
2.2.3 根據子域進行服務拆分 / 53
2.2.4 拆分的指導原則 / 54
2.2.5 拆分單體應用為服務的難點 / 56
2.2.6 定義服務API / 59
第3章 微服務架構中的進程間通信 / 63
3.1 微服務架構中的進程間通信概述 / 64
3.1.1 交互方式 / 64
3.1.2 在微服務架構中定義API / 66
3.1.3 API的演化 / 67
3.1.4 消息的格式 / 69
3.2 基于同步遠程過程調用模式的通信 / 70
3.2.1 使用REST / 71
3.2.2 使用gRPC / 74
3.2.3 使用斷路器模式處理局部故障 / 75
3.2.4 使用服務發現 / 78
3.3 基于異步消息模式的通信 / 82
3.3.1 什么是消息傳遞 / 83
3.3.2 使用消息機制實現交互方式 / 84
3.3.3 為基于消息機制的服務API創建API規范 / 86
3.3.4 使用消息代理 / 87
3.3.5 處理并發和消息順序 / 91
3.3.6 處理重復消息 / 92
3.3.7 事務性消息 / 93
3.3.8 消息相關的類庫和框架 / 97
3.4 使用異步消息提高可用性 / 99
3.4.1 同步消息會降低可用性 / 99
3.4.2 消除同步交互 / 101
第4章 使用Saga管理事務  / 106
4.1 微服務架構下的事務管理 / 107
4.1.1 微服務架構對分布式事務的需求 / 108
4.1.2 分布式事務的挑戰 / 109
4.1.3 使用Saga模式維護數據一致性 / 109
4.2 Saga的協調模式 / 113
4.2.1 協同式Saga / 113
4.2.2 編排式Saga / 117
4.3 解決隔離問題 / 121
4.3.1 缺乏隔離導致的問題 / 122
4.3.2 Saga模式下實現隔離的對策 / 123
4.4 Order Service和Create Order Saga的設計
/ 127
4.4.1 OrderService類
/ 128
4.4.2 Create Order Saga的實現
/ 129
4.4.3 OrderCommandHandlers類
/ 136
4.4.4 OrderServiceConfiguration類 / 138
第5章 微服務架構中的業務邏輯設計 / 141
5.1 業務邏輯組織模式 / 142
5.1.1 使用事務腳本模式設計業務邏輯 / 143
5.1.2 使用領域模型模式設計業務邏輯 / 144
5.1.3 關于領域驅動設計 / 146
5.2 使用聚合模式設計領域模型 / 146
5.2.1 模糊邊界所帶來的問題 / 147
5.2.2 聚合擁有明確的邊界 / 149
5.2.3 聚合的規則 / 150
5.2.4 聚合的顆粒度 / 152
5.2.5 使用聚合設計業務邏輯 / 153
5.3 發布領域事件 / 154
5.3.1 為什么需要發布變更事件 / 154
5.3.2 什么是領域事件 / 155
5.3.3 事件增強 / 155
5.3.4 識別領域事件 / 156
5.3.5 生成和發布領域事件 / 157
5.3.6 消費領域事件 / 161
5.4 Kitchen Service的業務邏輯 / 162
5.5 Order Service的業務邏輯 / 167
5.5.1 Order聚合 / 169
5.5.2 OrderService類
/ 173
第6章 使用事件溯源開發業務邏輯 / 176
6.1 使用事件溯源開發業務邏輯概述 / 177
6.1.1 傳統持久化技術的問題 / 177
6.1.2 什么是事件溯源 / 179
6.1.3 使用樂觀鎖處理并發更新 / 186
6.1.4 事件溯源和發布事件 / 186
6.1.5 使用快照提升性能 / 188
6.1.6 冪等方式的消息處理 / 189
6.1.7 領域事件的演化 / 190
6.1.8 事件溯源的好處 / 192
6.1.9 事件溯源的弊端 / 193
6.2 實現事件存儲庫 / 194
6.2.1 Eventuate Local事件存儲庫的工作原理 / 195
6.2.2 Eventuate的Java客戶端框架 / 198
6.3 同時使用Saga和事件溯源 / 201
6.3.1 使用事件溯源實現協同式Saga / 203
6.3.2 創建編排式Saga / 203
6.3.3 實現基于事件溯源的Saga參與方
/ 205
6.3.4 實現基于事件溯源的Saga編排器
/ 208
第7章 在微服務架構中實現查詢 / 212
7.1 使用API組合模式進行查詢 / 213
7.1.1 findOrder()查詢操作 / 213
7.1.2 什么是API組合模式 / 214
7.1.3 使用API組合模式實現findOrder()查詢操作 / 215
7.1.4 API組合模式的設計缺陷 / 216
7.1.5 API組合模式的好處和弊端 / 219
7.2 使用CQRS模式
/ 220
7.2.1 為什么要使用CQRS / 220
7.2.2 什么是CQRS / 223
7.2.3 CQRS的好處 / 226
7.2.4 CQRS的弊端 / 227
7.3 設計CQRS視圖
/ 228
7.3.1 選擇視圖存儲庫 / 229
7.3.2 設計數據訪問模塊 / 230
7.3.3 添加和更新CQRS視圖
/ 232
7.4 實現基于AWS DynamoDB的CQRS視圖 / 233
7.4.1 OrderHistoryEventHandlers模塊
/ 234
7.4.2 DynamoDB中的數據建模和查詢設計 / 235
7.4.3 OrderHistoryDaoDynamoDb類
/ 239
第8章 外部API模式
/ 244
8.1 外部API的設計難題 / 245
8.1.1 FTGO移動客戶端API的設計難題 / 246
8.1.2 其他類型客戶端API的設計難題 / 248
8.2 API Gateway模式
/ 250
8.2.1 什么是API Gateway模式
/ 250
8.2.2 API Gateway模式的好處和弊端 / 256
8.2.3 以Netflix為例的API Gateway / 257
8.2.4 API Gateway的設計難題 / 258
8.3 實現一個API Gateway / 260
8.3.1 使用現成的API Gateway產品或服務 / 261
8.3.2 開發自己的API Gateway / 262
8.3.3 使用GraphQL實現API Gateway / 269
第9章 微服務架構中的測試策略(上) / 282
9.1 微服務架構中的測試策略概述 / 284
9.1.1 什么是測試 / 284
9.1.2 微服務架構中的測試挑戰 / 289
9.1.3 部署流水線 / 295
9.2 為服務編寫單元測試 / 296
9.2.1 為實體編寫單元測試 / 298
9.2.2 為值對象編寫單元測試 / 299
9.2.3 為Saga編寫單元測試 / 300
9.2.4 為領域服務編寫單元測試 / 302
9.2.5 為控制器編寫單元測試 / 303
9.2.6 為事件和消息處理程序編寫單元測試 / 305
第10章 微服務架構中的測試策略(下) / 308
10.1 編寫集成測試 / 308
10.1.1 針對持久化層的集成測試 / 311
10.1.2 針對基于REST的請求/響應式交互的集成測試 / 312
10.1.3 針對發布/訂閱式交互的集成測試 / 316
10.1.4 針對異步請求/響應式交互的集成契約測試 / 320
10.2 編寫組件測試 / 324
10.2.1 定義驗收測試 / 325
10.2.2 使用Gherkin編寫驗收測試 / 326
10.2.3 設計組件測試 / 328
10.2.4 為FTGO的Order Service編寫組件測試 / 330
10.3 端到端測試 / 334
10.3.1 設計端到端測試 / 335
10.3.2 編寫端到端測試 / 335
10.3.3 運行端到端測試 / 336
第11章 開發面向生產環境的微服務應用 / 338
11.1 開發安全的服務 / 339
11.1.1 傳統單體應用程序的安全性 / 340
11.1.2 在微服務架構中實現安全性 / 343
11.2 設計可配置的服務 / 349
11.2.1 使用基于推送的外部化配置 / 350
11.2.2 使用基于拉取的外部化配置 / 352
11.3 設計可觀測的服務 / 353
11.3.1 使用健康檢查API模式
/ 355
11.3.2 使用日志聚合模式 / 357
11.3.3 使用分布式追蹤模式 / 358
11.3.4 使用應用程序指標模式 / 361
11.3.5 使用異常追蹤模式 / 364
11.3.6 使用審計日志模式 / 365
11.4 使用微服務基底模式開發服務 / 367
11.4.1 使用微服務基底 / 368
11.4.2 從微服務基底到服務網格 / 368
第12章 部署微服務應用 / 371
12.1 部署模式:編程語言特定的發布包格式 / 374
12.1.1 使用編程語言特定的發布包格式進行部署的好處 / 376
12.1.2 使用編程語言特定的發布包格式進行部署的弊端 / 377
12.2 部署模式:將服務部署為虛擬機 / 378
12.2.1 將服務部署為虛擬機的好處 / 380
12.2.2 將服務部署為虛擬機的弊端 / 380
12.3 部署模式:將服務部署為容器 / 381
12.3.1 使用Docker部署服務 / 383
12.3.2 將服務部署為容器的好處 / 385
12.3.3 將服務部署為容器的弊端 / 386
12.4 使用Kubernetes部署FTGO應用程序 / 386
12.4.1 什么是Kubernetes / 386
12.4.2 在Kubernetes上部署Restaurant Service / 389
12.4.3 部署API Gateway / 392
12.4.4 零停機部署 / 393
12.4.5 使用服務網格分隔部署與發布流程 / 394
12.5 部署模式:Serverless部署
/ 402
12.5.1 使用AWS Lambda進行Serverless部署
/ 403
12.5.2 開發Lambda函數
/ 404
12.5.3 調用Lambda函數
/ 404
12.5.4 使用Lambda函數的好處 / 405
12.5.5 使用Lambda函數的弊端 / 406
12.6 使用AWS Lambda和AWS Gateway部署RESTful服務
/ 406
12.6.1 AWS Lambda版本的Restaurant Service / 407
12.6.2 把服務打包為ZIP文件
/ 411
12.6.3 使用Serverless框架部署Lambda函數
/ 412
第13章 微服務架構的重構策略 / 415
13.1 重構到微服務需要考慮的問題 / 416
13.1.1 為什么要重構單體應用 / 416
13.1.2 絞殺單體應用 / 417
13.2 將單體應用重構為微服務架構的若干策略 / 420
13.2.1 將新功能實現為服務 / 420
13.2.2 隔離表現層與后端 / 422
13.2.3 提取業務能力到服務中 / 423
13.3 設計服務與單體的協作方式 / 429
13.3.1 設計集成膠水 / 430
13.3.2 在服務和單體之間維持數據一致性 / 434
13.3.3 處理身份驗證和訪問授權 / 438
13.4 將新功能實現為服務:處理錯誤配送訂單 / 440
13.4.1 Delayed Delivery Service的設計
/ 441
13.4.2 為Delayed Delivery Service設計集成膠水 / 442
13.5 從單體中提取送餐管理功能 / 444
13.5.1 現有的送餐管理功能 / 444
13.5.2 Delivery Service概覽
/ 446
13.5.3 設計Delivery Service的領域模型 / 447
13.5.4 Delivery Service集成膠水的設計 / 450
13.5.5 修改FTGO單體使其能夠與Delivery Service交互
/ 451

展開全部

云計算與虛擬化技術叢書微服務架構設計模式 相關資料

“全面概述了團隊在轉向微服務時面臨的挑戰,以及針對這些問題的、經過行業檢驗的解決方案。”
——Tim Moore, Lightbend

“系統性地闡述了一個重要的架構領域。”
——Simeon Leyzerzon, Excelsior Software

“一本可靠的手冊,可以加快你遷移到這個基于云的現代架構的速度。” ——John Guthrie, Dell/EMC

“可幫你理解微服務方法并在現實生活中使用它。”
——PotitoColuccelli, BizmaticaEconocom

“喻勇翻譯的這本書是近幾年我所看到的眾多論述微服務架構書籍中*好的一本。該書圍繞微服務的架構設計,深入淺出地介紹了微服務與SOA等其他架構的區別,軟件系統服務的拆分策略,微服務的同步和異步通信模式,如何使用微服務進行事務管理,如何在微服務架構中設計業務邏輯。同時詳細描述了微服務架構中的測試和生產部署策略。該書所總結出的架構經驗對設計微服務架構有很好的指導作用,建議軟件研發人員認真研讀。”
——陳斌,易寶支付CTO

“這本書里,不僅有微服務領域已經識別出來的問題、解決思路和解決方案,也有相應的代碼例子。這本書可以幫助微服務相關人員構建知行合一的能力……這是一本可以幫你在設計微服務架構時做出取舍的書,它能在你處理微服務相關問題“左右為難”的時候給你提供參考和建議。”

——蔡書,獨立顧問,PolarisTech
聯合創始人

“書中既包含了微服務的原理、原則,又包含了實際落地中的架構設計模式;既包含可舉一反三的理念和概念,也包含類似領域驅動設計、Saga實現事務操作、CQRS構建事件驅動系統等具體可套用的范式……相信本書對于企業CIO推動公司數字化轉型戰略、軟件開發者提升自身技術架構功力,以及云原生愛好者以微服務切入*的云原生體系,都有著極其重要的實踐指導意義。”
——張鑫,才云科技CEO

云計算與虛擬化技術叢書微服務架構設計模式 作者簡介

克里斯·理查森(Chris
Richardson)
世界十大軟件架構師之一,《POJOS
in Action》等技術名著的作者,也是著名開源項目 Cloud Foundry 和 Eventuate 的創始人。他的研究領域包括微服務架構設計、分布式數據管理、事件驅動的應用架構、領域驅動設計、持續交付、Spring 框架、Scala、NoSQL數據庫等。

喻勇

在技術圈馳騁多年,曾擔任過微軟技術布道師,VMware Cloud Foundry 生態建設負責人,并有幸引領了國內容器技術的創業浪潮。目前定居加拿大,關注微服務架構、云原生應用等領域。

Chris 與喻勇曾在 VMware 全球開發者關系團隊共事多年,現在他們合作為國內企業客戶提供微服務相關的咨詢和培訓服務,他們的中文網站是:www.chrisrichardson.cn

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服