中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊

包郵 微服務設計(第2版)

出版社:人民郵電出版社出版時間:2024-04-01
開本: 16開 頁數: 428
中 圖 價:¥113.5(7.1折) 定價  ¥159.8 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

微服務設計(第2版) 版權信息

微服務設計(第2版) 本書特色

1-【標桿】軟件架構領域標桿之作,Amazon 4.8 星好評

2-【全新】第2版全新升級,內容更新率超過 70%

3-【易讀】內容通俗易懂,180 張圖剖析微服務設計

4-【專業】作者為微服務先驅,譯者為微服務實踐者

5-【實戰】聚焦微服務痛點,打造高可用分布式架構

6-【面廣】多行業案例,涵蓋電子商務、金融、廣告、支付等

7-【力薦】Martin Fowler 領銜推薦,國內外一線專家聯袂推薦

微服務設計(第2版) 內容簡介

本書是系統架構領域標桿參考書的升級版,由業內資深專家薩姆·紐曼(Sam Newman)撰寫。 過去10年,隨著微服務的普及,大量組織從單體應用遷移到了微服務應用,分布式系統變得愈加精細化,然而,這個過程中也出現了一系列問題。本書深入探討了構建、管理、擴展和演進微服務架構時需要考慮的方方面面。內容分為三部分:**部分“基礎”(第1章~第4章),詳細闡述微服務背后的核心思想;第二部分“實現”(第5章~第13章),帶你轉向具體實現細節,通過各種技術和方法盡可能大程度地用好微服務;第三部分“人和組織”(第14章~第16章),具體闡述離開人和組織的支持,理念和技術將毫無意義。通過學習本書,你將深入了解對微服務的建模、集成、測試、部署和監控等方向新的解決方案。 第2版進行了全面更新:新增了微服務構建和部署、無服務器計算及云原生應用等主題,擴充了進程間通信等內容。此外,新版貫穿了更多業界常見案例,提供了更多代碼示例,幫助大家落地微服務。 本書面向架構師、開發人員、測試人員和IT運維人員等各類對微服務感興趣的讀者。

微服務設計(第2版) 目錄

審讀致謝

專家推薦

推薦序一 | 肖然

推薦序二 | 沈劍

譯者序

前言



**部分 基礎

第1章 追根問底微服務 3

1.1 微服務概述 3

1.2 微服務的關鍵概念 5

1.2.1 可獨立部署 5

1.2.2 圍繞業務領域建模 6

1.2.3 狀態自主 7

1.2.4 服務大小 7

1.2.5 靈活性 8

1.2.6 架構和組織的一致性 8

1.3 單體 11

1.3.1 單進程單體 12

1.3.2 模塊化單體 12

1.3.3 分布式單體 13

1.3.4 單體和交付爭用 14

1.3.5 單體的優勢 14

1.4 技術能力 14

1.4.1 日志聚合和分布式追蹤 15

1.4.2 容器和Kubernetes 16

1.4.3 流技術 16

1.4.4 公有云和無服務器技術 17

1.5 微服務的優勢 17

1.5.1 技術的異構性 17

1.5.2 健壯性 18

1.5.3 擴展性 19

1.5.4 部署的便捷性 20

1.5.5 組織協調 20

1.5.6 可組合性 20

1.6 微服務的痛點 20

1.6.1 開發者體驗 21

1.6.2 技術過載 21

1.6.3 成本 21

1.6.4 生成報表 22

1.6.5 監控和故障排除 23

1.6.6 安全 23

1.6.7 測試 23

1.6.8 延遲 23

1.6.9 數據一致性 24

1.7 我應該采用微服務嗎 24

1.7.1 不適用情況 24

1.7.2 適用情況 25

1.8 小結 26

第2章 微服務建模 27

2.1 MusicCorp簡介 27

2.2 合理劃分微服務邊界 28

2.2.1 信息隱藏 28

2.2.2 內聚 29

2.2.3 耦合 29

2.2.4 內聚和耦合的相互作用 30

2.3 耦合的類型 30

2.3.1 領域耦合 31

2.3.2 傳遞耦合 33

2.3.3 公共耦合 36

2.3.4 內容耦合 39

2.4 恰到好處的領域驅動設計 40

2.4.1 通用語言 40

2.4.2 聚合 41

2.4.3 限界上下文 43

2.4.4 將聚合及限界上下文映射到微服務 45

2.4.5 事件風暴 46

2.5 DDD在微服務環境中的應用案例 47

2.6 領域邊界的替代方法 48

2.6.1 易變性 48

2.6.2 數據 49

2.6.3 技術 50

2.6.4 組織 51

2.7 混合模型和例外 53

2.8 小結 53

第3章 拆分大單體 54

3.1 明確目標 54

3.2 增量遷移 55

3.3 單體并不是威脅 55

3.4 先拆分什么 56

3.5 按層拆分 58

3.5.1 代碼優先 58

3.5.2 數據優先 59

3.6 有用的拆分模式 60

3.6.1 絞殺者模式 60

3.6.2 并行運行模式 61

3.6.3 功能開關模式 61

3.7 拆分數據庫的注意事項 61

3.7.1 性能 61

3.7.2 數據完整性 63

3.7.3 事務 63

3.7.4 工具 64

3.7.5 報表數據庫 64

3.8 小結 65

第4章 微服務間通信模式 66

4.1 從進程內到進程間 66

4.1.1 性能 66

4.1.2 接口變更 67

4.1.3 錯誤處理 67

4.2 進程內的通信技術:選擇眾多 69

4.3 微服務間的通信模式 69

4.4 同步阻塞模式 70

4.4.1 優點 71

4.4.2 缺點 71

4.4.3 適用情況 71

4.5 異步非阻塞模式 73

4.5.1 優點 73

4.5.2 缺點 74

4.5.3 適用情況 75

4.6 共用數據模式 75

4.6.1 實現 75

4.6.2 優點 76

4.6.3 缺點 76

4.6.4 適用情況 77

4.7 請求?C響應模式 77

4.7.1 實現:同步與異步 78

4.7.2 適用情況 80

4.8 事件驅動模式 80

4.8.1 實現 82

4.8.2 事件 82

4.8.3 適用情況 85

4.9 謹慎行事 85

4.10 小結 87

第二部分 實現

第5章 實現微服務間通信 91

5.1 尋找理想的技術 91

5.1.1 輕松實現向后兼容 91

5.1.2 明確你的接口 91

5.1.3 保持API的技術中立 92

5.1.4 簡化提供給消費者的服務 92

5.1.5 隱藏內部實現細節 92

5.2 技術選型 92

5.2.1 遠程過程調用 93

5.2.2 REST 96

5.2.3 GraphQL 99

5.2.4 消息代理 101

5.3 序列化格式 104

5.3.1 文本格式 104

5.3.2 二進制格式 105

5.4 模式 105

5.4.1 結構性破壞和語義性破壞 106

5.4.2 是否應該使用模式 106

5.5 處理微服務間的變更 107

5.6 避免破壞性變更 107

5.6.1 擴展式更改 108

5.6.2 兼容的消費者 108

5.6.3 合適的技術 109

5.6.4 顯式接口 109

5.6.5 盡早發現破壞性變更 110

5.7 管理破壞性變更 111

5.7.1 同步部署 111

5.7.2 共存不兼容的微服務版本 111

5.7.3 模擬舊接口 112

5.7.4 推薦的方法 113

5.7.5 社會契約 114

5.7.6 追蹤使用情況 114

5.7.7 極端措施 114

5.8 DRY和微服務架構中的代碼復用風險 115

5.9 服務發現 117

5.9.1 域名系統 117

5.9.2 動態服務注冊 118

5.9.3 不要忘記人類 120

5.10 服務網格和API網關 120

5.10.1 API 網關 121

5.10.2 服務網格 123

5.10.3 其他協議 126

5.11 文檔服務 126

5.11.1 顯式模式 126

5.11.2 自描述系統 127

5.12 小結 129

第6章 工作流 131

6.1 數據庫事務 131

6.1.1 ACID事務 131

6.1.2 還是ACID事務,但缺乏原子性支持嗎 132

6.2 分布式事務:兩階段提交 134

6.3 分布式事務:只需說“不” 136

6.4 Saga 137

6.4.1 Saga故障模式 138

6.4.2 實現Saga 142

6.4.3 Saga與分布式事務 146

6.5 小結 147

第7章 構建 148

7.1 持續集成簡介 148

7.1.1 你真的在實踐持續集成嗎 149

7.1.2 分支模型 149

7.2 構建流水線和持續交付 151

7.2.1 工具 152

7.2.2 權衡與環境 153

7.2.3 構建制品 153

7.3 將源代碼和構建映射到微服務 155

7.3.1 一個巨大的代碼庫,一次巨大的構建 155

7.3.2 多代碼庫 156

7.3.3 單一代碼庫 159

7.3.4 我會使用哪種方式 163

7.4 小結 164

第8章 部署 165

8.1 從邏輯到物理 165

8.1.1 多實例 166

8.1.2 數據庫 167

8.1.3 環境 170

8.2 微服務部署原則 172

8.2.1 隔離執行 172

8.2.2 專注于自動化 175

8.2.3 基礎設施即代碼 176

8.2.4 零停機部署 176

8.2.5 期望狀態管理 177

8.3 部署選項 179

8.3.1 物理機 180

8.3.2 虛擬機 180

8.3.3 容器 182

8.3.4 應用容器 186

8.3.5 平臺即服務(PaaS) 187

8.3.6 函數即服務(FaaS) 188

8.4 哪種部署方式適合你 193

8.5 Kubernetes與容器編排 195

8.5.1 容器編排案例 195

8.5.2 Kubernetes概念的簡化視圖 196

8.5.3 多租戶和聯邦 198

8.5.4 云原生計算基金會 200

8.5.5 平臺和可移植性 200

8.5.6 Helm、Operator與CRD 201

8.5.7 Knative 201

8.5.8 未來 202

8.5.9 你應該使用它嗎 202

8.6 漸進式交付 203

8.6.1 分離部署與發布 203

8.6.2 漸進式交付 204

8.6.3 功能開關 204

8.6.4 金絲雀發布 204

8.6.5 并行運行 205

8.7 小結 206

第9章 測試 207

9.1 測試類型 207

9.2 測試范圍 209

9.2.1 單元測試 210

9.2.2 服務測試 211

9.2.3 端到端測試 212

9.2.4 權衡 212

9.3 實現服務測試 213

9.3.1 mock還是打樁 213

9.3.2 更智能的打樁服務 214

9.4 微妙的端到端測試 215

9.4.1 脆弱的測試 216

9.4.2 誰來寫測試 217

9.4.3 測試應該運行的時間 218

9.4.4 大量的堆積 219

9.4.5 元版本 219

9.4.6 缺乏獨立可測試性 219

9.5 應該放棄端到端測試嗎 220

9.5.1 契約測試和消費者驅動的契約 220

9.5.2 一點補充 222

9.6 開發者體驗 223

9.7 從預發布環境測試到生產環境測試 223

9.7.1 生產環境測試的類型 224

9.7.2 確保生產環境測試的安全性 224

9.7.3 平均故障間隔時間和平均修復時間的權衡 225

9.8 跨功能測試 225

9.8.1 性能測試 226

9.8.2 健壯性測試 227

9.9 小結 227

第10章 從監控到可觀測性 229

10.1 混亂、恐慌和困惑 229

10.2 單個微服務,單個服務器 230

10.3 單個微服務,多個服務器 231

10.4 多個微服務,多個服務器 232

10.5 可觀測性與監控 233

10.6 構建可觀測性的組件 234

10.6.1 日志聚合 235

10.6.2 指標聚合 241

10.6.3 分布式追蹤 243

10.6.4 我們做得如何 245

10.6.5 警報 247

10.6.6 語義監控 250

10.6.7 生產環境測試 251

10.7 標準化 253

10.8 選擇工具 253

10.8.1 大眾化 253

10.8.2 易于集成 253

10.8.3 提供上下文 254

10.8.4 實時性 254

10.8.5 恰如其分 254

10.9 機器專家 255

10.10 起點 255

10.11 小結 256

第11章 安全 258

11.1 核心原則 259

11.1.1 *小權限原則 259

11.1.2 深度防御 259

11.1.3 自動化 261

11.1.4 在交付過程中構建安全性 261

11.2 五大網絡安全功能 262

11.2.1 身份識別 262

11.2.2 保護 263

11.2.3 檢測 263

11.2.4 響應 263

11.2.5 恢復 264

11.3 應用安全的基礎 264

11.3.1 憑證 264

11.3.2 打補丁 269

11.3.3 備份 271

11.3.4 重建 271

11.4 隱式信任與零信任 272

11.4.1 隱式信任 272

11.4.2 零信任 273

11.4.3 這是個范圍 273

11.5 數據保護 275

11.5.1 傳輸中的數據 275

11.5.2 靜態數據 277

11.6 身份驗證和鑒權 279

11.6.1 服務間驗證 279

11.6.2 用戶的身份驗證 279

11.6.3 常見的單點登錄實現 280

11.6.4 單點登錄網關 281

11.6.5 細粒度鑒權 282

11.6.6 混淆代理人問題 282

11.6.7 中心化上游鑒權 284

11.6.8 去中心化鑒權 284

11.6.9 JWT 284

11.7 小結 287

第12章 彈性 288

12.1 彈性介紹 288

12.1.1 健壯性 289

12.1.2 可恢復性 290

12.1.3 優雅的可擴展性 290

12.1.4 持續適應性 290

12.1.5 代入微服務架構 291

12.2 故障無處不在 291

12.3 多少才算多 292

12.4 功能降級 293

12.5 穩定性模式 293

12.5.1 超時 295

12.5.2 重試 297

12.5.3 艙壁 297

12.5.4 斷路器 298

12.5.5 隔離 300

12.5.6 冗余 301

12.5.7 中間件 301

12.5.8 冪等 302

12.6 分散風險 303

12.7 CAP定理 304

12.7.1 犧牲一致性 305

12.7.2 犧牲可用性 305

12.7.3 犧牲分區容錯性 306

12.7.4 AP還是CP 306

12.7.5 全部和全不并不是二選一 306

12.7.6 現實世界 307

12.8 混沌工程 307

12.8.1 演練日 308

12.8.2 生產實驗 308

12.8.3 超越健壯性 309

12.9 問責 309

12.10 小結 310

第13章 擴展性 312

13.1 擴展性的4個維度 312

13.1.1 縱向擴容 313

13.1.2 橫向復制 314

13.1.3 數據分區 317

13.1.4 功能拆分 320

13.2 組合模型 322

13.3 從小處著手 323

13.4 緩存 324

13.4.1 用于提高性能 324

13.4.2 用于提高擴展性 325

13.4.3 用于提高健壯性 325

13.4.4 將緩存設置在哪里 325

13.4.5 讓緩存失效 329

13.4.6 緩存的黃金法則 333

13.4.7 新鮮度與優化程度 333

13.4.8 緩存中毒:一個需要警惕的故事 334

13.5 自動擴展 334

13.6 重新出發 335

13.7 小結 336

第三部分 人和組織

第14章 用戶界面 339

14.1 邁向數字化 339

14.2 集中所有權模型 340

14.3 業務流團隊 342

14.3.1 共享專家 343

14.3.2 確保一致性 343

14.3.3 持續應對技術的挑戰 344

14.4 單體前端模式 345

14.5 微前端模式 346

14.5.1 實施視角 346

14.5.2 應用時機 346

14.6 基于頁面的拆分模式 347

14.7 基于部件的拆分模式 349

14.7.1 實施視角 350

14.7.2 應用時機 352

14.8 約束 353

14.9 中心聚合網關模式 353

14.9.1 歸屬權 355

14.9.2 不同類型的用戶界面 355

14.9.3 熱點問題 356

14.9.4 應用時機 357

14.10 服務于前端的后端模式 357

14.10.1 如何確定BFF的數量 358

14.10.2 BFF如何應對復用問題 361

14.10.3 BFF在桌面Web和更多場景中的應用 363

14.10.4 應用時機 364

14.11 GraphQL 364

14.12 模式的混合應用 366

14.13 小結 366

第15章 組織結構 367

15.1 低耦合組織結構 367

15.2 康威定律 368

15.3 團隊規模 370

15.4 理解康威定律 370

15.5 小團隊,大組織 371

15.6 關注團隊自治 372

15.7 強所有權與集體所有權 373

15.7.1 強所有權 373

15.7.2 集體所有權 374

15.7.3 團隊層面與組織層面 375

15.7.4 模式之間的平衡 375

15.8 賦能團隊 376

15.8.1 實踐社區 377

15.8.2 平臺 378

15.9 共享微服務 380

15.9.1 難以劃分 380

15.9.2 跨領域的變更 380

15.9.3 交付瓶頸 381

15.10 內部開源 381

15.10.1 核心提交者的作用 382

15.10.2 成熟度 382

15.10.3 工具支撐 382

15.11 可插拔式模塊化微服務 382

15.12 孤兒服務 387

15.13 案例研究:Real Estate網站 387

15.14 地域分布 388

15.15 逆康威定律 389

15.16 人 390

15.17 小結 391

第16章 演進式架構師 392

16.1 名字的意義 392

16.2 什么是軟件架構 394

16.3 讓改變成為可能 395

16.4 架構師的可演進愿景 395

16.5 定義系統邊界 396

16.6 一種社會結構 398

16.7 宜居性 399

16.8 原則方法 400

16.8.1 戰略目標 400

16.8.2 原則 400

16.8.3 實踐 401

16.8.4 原則與實踐相結合 401

16.8.5 一個真實的例子 401

16.9 演進式架構 402

16.10 業務流組織中的架構 403

16.11 組建團隊 405

16.12 必要標準 405

16.12.1 可監控性 405

16.12.2 接口 406

16.12.3 架構安全性 406

16.13 治理并鋪路 406

16.13.1 榜樣的力量 407

16.13.2 定制的微服務模板 407

16.13.3 將鋪好的路規模化 408

16.14 技術債務 408

16.15 異常處理 409

16.16 小結 409

后記:全景概述 411

參考資料 421

術語表 425
展開全部

微服務設計(第2版) 相關資料

Martin Fowler 【原版推薦】,肖然 × 沈劍 【作序推薦】

丁雪豐 × 胡忠想 × 李運華 × 茹炳晟 × 王健 × 張逸 【聯袂推薦】



“微服務架構有許多吸引人的優點,但貿然選用,你的構建過程注定充滿艱辛與坎坷。微服務這條路是否真的適合你,一旦選定如何巧妙躲過各種陷阱?答案就在本書中。”

—— Martin Fowler,Thoughtworks Chief Scientist



新版內容更加豐富,篇幅大大加長,其中的變化不僅反映了微服務領域的顯著進步,也凸顯了我們面

微服務設計(第2版) 作者簡介

[英]薩姆·紐曼(Sam Newman) 微服務先驅 · Thoughtworks前系統架構師 · 獨立咨詢師 深耕行業20多年,聚焦微服務、云和持續交付,致力于幫助企業更快速、可靠地交付軟件,合作客戶遍布全球。熱銷技術書作者,著有《微服務設計》《重構到微服務》。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 牛皮纸|牛卡纸|进口牛皮纸|食品级牛皮纸|牛皮纸厂家-伽立实业 | 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | 家用净水器代理批发加盟_净水机招商代理_全屋净水器定制品牌_【劳伦斯官网】 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 自动售货机_无人售货机_专业的自动售货机运营商_免费投放售货机-广州富宏主官网 | 橡胶膜片,夹布膜片,橡胶隔膜密封,泵阀设备密封膜片-衡水汉丰橡塑科技公司网站 | 轴流风机-鼓风机-离心风机-散热风扇-罩极电机,生产厂家-首肯电子 | 液氮罐_液氮容器_自增压液氮罐_杜瓦瓶_班德液氮罐厂家 | 硬质合金模具_硬质合金非标定制_硬面加工「生产厂家」-西迪技术股份有限公司 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 酶联免疫分析仪-多管旋涡混合仪|混合器-莱普特科学仪器(北京)有限公司 | 合同书格式和范文_合同书样本模板_电子版合同,找范文吧 | 沉降天平_沉降粒度仪_液体比重仪-上海方瑞仪器有限公司 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 中式装修设计_室内中式装修_【云臻轩】中式设计机构 | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 四川成人高考_四川成考报名网| 一体化预制泵站-一体化提升泵站-一体化泵站厂家-山东康威环保 | 喷涂流水线,涂装流水线,喷漆流水线-山东天意设备科技有限公司 | 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 上海办公室装修,办公楼装修设计,办公空间设计,企业展厅设计_写艺装饰公司 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 空气能采暖,热泵烘干机,空气源热水机组|设备|厂家,东莞高温热泵_正旭新能源 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | 捷码低代码平台 - 3D数字孪生_大数据可视化开发平台「免费体验」 | 湖南印刷厂|长沙印刷公司|画册印刷|挂历印刷|台历印刷|杂志印刷-乐成印刷 | 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 | 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 空气净化器租赁,空气净化器出租,全国直租_奥司汀净化器租赁 | PAS糖原染色-CBA流式多因子-明胶酶谱MMP-上海研谨生物科技有限公司 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 防水套管厂家-柔性防水套管-不锈钢|刚性防水套管-天翔管道 | 空气弹簧|橡胶气囊|橡胶空气弹簧-上海松夏减震器有限公司 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) |