会员   密码 您忘记密码了吗?
1,655,933 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

浏览历史

当前位置: 首页 > 简体书 > 微服務即學即用
微服務即學即用
上一张
下一张
prev next

微服務即學即用

作者: (美)羅尼·米特拉,伊拉克利·納達雷什維利
出版社: 中國電力出版社
ISBN: 9787519864088
出版日期: 2022-03-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT588.00
市场价格: RM105.71
本店售价: RM94.08
促销价: RM88.80
剩余时间: 请稍等, 正在载入中...
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

學習有效和明確的端到端微服務系統設計。
定義團隊、他們的職責以及共同工作的指導方針。
瞭解如何將大型應用程式分割成一組微服務。
研究如何將資料隔離並嵌入到相應的微服務中。
為基礎架構更改構建一個簡單但功能強大的CI/CD管道。
為示例微服務編寫代碼。
在Amazon上部署可正常工作的微服務應用程式Web服務。


作者介紹

Ronnie Mitra是一位作家,戰略家和顧問,擁有超過25年網路和連接技術工作經驗。他是O’Reilly的《Microservice Architecture》和《Continuous API Management》的合著者。
 
Irakli Nadareishvili是Capital One核心創新副總裁,領導著負責構建基於微服務的核心銀行平臺的團隊。在此之前,他是健康科技初創公司ReferWell的聯合創始人兼CTO,並在CA Technologies和NPR擔任技術領導職務。您可以通過@inadarei在Twitter上關注Irakli。
 
譯者介紹
 
王岩,thoughtworks高級諮詢師,專注於領域驅動設計的實踐和推廣。   
黃俊彬,thoughtworks高級諮詢師,在智慧硬體、通信、互聯網、金融等領軍企業提供敏捷轉型、系統架構改造、大型遺留系統重構等服務。


目錄

前言 .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