|
|
|
|
|
|
|
|
ISBN |
9787519864088 |
定价 |
RMB98.00 |
售价 |
RM107.80 |
优惠价 |
RM75.46 * (-30%)
|
作者 |
(美)羅尼·米特拉,伊拉克利·納達雷什維利
|
译者 |
王岩,黃俊彬 |
出版社 |
中國電力出版社
|
出版日期 |
2022-03-01 |
装订 |
平裝. 單色印刷. 328 页. 26. |
库存量 |
購買後立即進貨 下单时可选择“空运”或“海运”(空运和海运需独立下单)。空运费每本书/CD是RM31.50。 空运需时8-11个工作天,海运需时约30个工作天。 (以上预计时间不包括出版社调货的时间以及尚未出版的预购商品) 库存有限或需要调货,订购时间可能延长。如无法订购则将通知进行退款。 |
|
我要订购 有现货时通知我 |
|
放入下次购买清单 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
學習有效和明確的端到端微服務系統設計。
定義團隊、他們的職責以及共同工作的指導方針。
瞭解如何將大型應用程式分割成一組微服務。
研究如何將資料隔離並嵌入到相應的微服務中。
為基礎架構更改構建一個簡單但功能強大的CI/CD管道。
為示例微服務編寫代碼。
在Amazon上部署可正常工作的微服務應用程式Web服務。
|
|
|
|
|
|
|
|
|
|
|
|
購買中國簡體書籍請注意:
1. 因裝幀品質及貨運條件未臻完善,中國簡體書可能有出現磨痕、凹痕、折痕等問題,故簡體字館除封面破損、內頁脫落、缺頁等較嚴重的狀態外,其餘所有商品將正常出貨。
|
|
|
|
|
|
|
|
|
目錄
前言 .1
第1章 邁向微服務架構 7
1.1 微服務是什麼? .8
1.2 降低協作成本 10
1.2.1 協作成本問題 11
1.2.2 艱難部分. 13
1.3 從實踐中學習 14
1.4 決策,決策…… 17
1.5 小結 21
第2章 微服務運作模式的設計 22
2.1 為什麼團隊和人員很重要 23
2.1.1 團隊規模. 24
2.1.2 團隊技能. 26
2.1.3 團隊間協作 27
2.2 引入團隊拓撲 29
2.2.1 團隊類型. 29
2.2.2 交互模式. 31
2.3 設計一個微服務團隊拓撲 32
2.3.1 建立系統設計團隊 . 33
2.3.2 構建微服務團隊範本 35
2.3.3 平臺團隊. 38
2.3.4 賦能和複雜的子系統團隊 . 39
2.3.5 消費者團隊 41
2.3.6 小結 43
第3章 設計微服務:SEED(S)流程 44
3.1 介紹服務設計的七個基本演變:SEED(S)方法 . 45
3.2 確定參與者 . 46
3.3 確定參與者必須做的工作 49
3.3.1 使用工作故事描述格式來完成待完成工作(JTBDs) 51
3.3.2 我們的示例項目中的示例JTBD 52
3.4 用序列圖發現交互模式 53
3.5 從JTBD 派生操作和查詢 56
3.6 將每個查詢和操作描述為具有開放標準的規範 59
3.7 獲得關於API 規範的回饋 64
3.8 實現微服務 . 65
3.9 微服務與API . 65
3.10 小結 . 68
第4章 調整微服務的大小:尋找服務邊界 69
4.1 為什麼邊界很重要,什麼時候重要,以及如何找到它們 69
4.2 領域驅動設計和微服務邊界 71
4.2.1 上下文映射 75
4.2.2 同步集成與非同步集成 78
4.2.3 DDD 聚合 79
4.3 事件風暴簡介 79
4.4 介紹通用規模計算公式 86
4.5 小結 87
第5章 處理資料 89
5.1 獨立部署和資料共用 . 89
5.2 微服務嵌入他們的資料 91
5.2.1 嵌入資料不應導致資料庫集群數量激增 92
5.2.2 資料嵌入和資料委託模式 . 93
5.2.3 使用資料複製解決獨立性 . 95
5.2.4 分散式事務和失敗補償 96
5.3 事件源和CQRS 99
5.3.1 事件源 100
5.3.2 通過滾動快照提高性能 106
5.3.3 事件存儲 107
5.3.4 命令查詢職責分離 108
5.4 微服務之外的事件源和CQRS 109
5.5 小結 . 111
第6章 構建基礎設施流水線 . 112
6.1 DevOps 原則和實踐 113
6.1.1 不可變的基礎設施 114
6.1.2 基礎設施即代碼 116
6.1.3 持續集成和持續交付 . 118
6.2 建立基礎設施即代碼的環境 120
6.2.1 設置GitHub 120
6.2.2 安裝Terraform 121
6.3 配置Amazon Web Services 122
6.3.1 設置一個AWS Operations 帳戶 123
6.3.2 配置AWS CLI 127
6.3.3 設置AWS 許可權 . 128
6.3.4 為Terraform 創建S3 存儲 132
6.4 建立基礎設施即代碼流水線 134
6.4.1 創建沙箱代碼庫 135
6.4.2 使用Terraform 137
6.4.3 編寫沙箱環境代碼 138
6.4.4 構建流水線 . 142
6.4.5 測試流水線 . 152
6.5 小結 . 154
第7章 構建微服務基礎設施 . 156
7.1 基礎設施元件 . 156
7.1.1 網路 157
7.1.2 Kubernetes 服務 158
7.1.3 GitOps 部署伺服器 . 160
7.2 實現基礎設施 . 162
7.2.1 安裝kubectl 162
7.2.2 設置模組代碼庫 163
7.2.3 網路模組 166
7.2.4 Kubernetes 模組 182
7.2.5 設置Argo CD 195
7.2.6 測試環境 200
7.2.7 清理基礎設施 201
7.3 小結 . 203
第8章 開發者空間 205
8.1 編碼標準和開發者的配置 . 206
8.2 在本地設置一個容器化的環境 214
8.2.1 安裝Multipass 215
8.2.2 輸入容器和映射資料夾 217
8.3 安裝Docker . 218
8.4 本地Docker 的高級用法:安裝Cassandra 220
8.5 安裝Kubernetes . 221
8.6 小結 . 223
第9章 開發微服務 225
9.1 設計微服務端點 225
9.1.1 航班管理微服務 229
9.1.2 預留管理微服務 230
9.1.3 設計OpenAPI 規範 230
9.2 為微服務實現資料 238
9.2.1 預訂微服務的Redis 資料模型 238
9.2.2 航班微服務的MySQL 資料模型 . 241
9.3 微服務的實現代碼 243
9.3.1 航班微服務背後的代碼 244
9.3.2 健康檢查 250
9.4 向專案引入第二種微服務 . 252
9.5 通過傘式專案關聯微服務 . 259
9.6 小結 . 262
第10章 發佈微服務 264
10.1 設置Staging 環境 265
10.1.1 Ingress 模組 . 266
10.1.2 資料庫模組 267
10.1.3 Forking Staging 基礎設施項目 268
10.1.4 配置Staging 工作流 269
10.1.5 編輯Staging 基礎設施代碼 . 271
10.2 傳輸航班資訊容器 . 275
10.2.1 介紹Docker Hub 276
10.2.2 配置Docker Hub 277
10.2.3 配置流水線 278
10.3 部署航班服務容器 . 282
10.3.1 瞭解Kubernetes 部署 . 283
10.3.2 創建 Helm Chart 284
10.3.3 創建微服務部署代碼庫 . 286
10.3.4 使用Argo CD 進行GitOps 式的部署 . 292
10.4 清理 299
10.5 小結 299
第11章 變更管理 . 300
11.1 微服務系統中的變更 301
11.1.1 以資料為導向 . 301
11.1.2 變更的影響 302
11.1.3 三種部署模型 . 304
11.2 基於我們的架構的考量 306
11.2.1 基礎設施的變更 . 307
11.2.2 微服務變更 311
11.2.3 數據的變更 316
11.3 小結 318
第12章 旅程的終點(和新的起點) . 320
12.1 微服務的複雜性與簡化 321
12.2 衡量微服務轉型的進展 325
12.3 小結 328
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ronnie Mitra是一位作家,戰略家和顧問,擁有超過25年網路和連接技術工作經驗。他是O’Reilly的《Microservice Architecture》和《Continuous API Management》的合著者。
Irakli Nadareishvili是Capital One核心創新副總裁,領導著負責構建基於微服務的核心銀行平臺的團隊。在此之前,他是健康科技初創公司ReferWell的聯合創始人兼CTO,並在CA Technologies和NPR擔任技術領導職務。您可以通過@inadarei在Twitter上關注Irakli。
譯者介紹
王岩,thoughtworks高級諮詢師,專注於領域驅動設計的實踐和推廣。
黃俊彬,thoughtworks高級諮詢師,在智慧硬體、通信、互聯網、金融等領軍企業提供敏捷轉型、系統架構改造、大型遺留系統重構等服務。
|
|
|
|
|
|
|
|
|
|
|
|