持續演進的Cloud Native:雲原生架構下微服務最佳實踐

書籍信息

作譯者:王啟軍

出版時間:2018-10千 字 數:410版次:01-01頁 數:316

開本:16開裝幀:I S B N :9787121351204

換版:

紙質書定價:¥79.0

內容簡介

雲化架構是一個全新概念,包含微服務、十二因子、敏捷基礎設施和持續交付這些新老熱點。而Cloud Native則是目前實現雲化架構最有希望的技術解決方案,其建築在傳統Cloud的三層(IaaS、PaaS、SaaS)概念之上,其中敏捷基礎設施對應IaaS部分,微服務則可以對應PaaS和SaaS部分。本書內容基於Cloud Native原理展開,重點描述雲化架構的組成部分,及其相關理論和實踐。本書來自作者在實際工作的經驗積累,內容既有經典理論,又有豐富的實戰案例,更不乏關鍵問題的完整解決方案。

圖書目錄

第1章 綜述 1

1.1 Cloud Native的起源 1

1.2 Cloud Native的組成 4

1.3 Cloud Native背後的訴求 5

1.4 如何衡量Cloud Native的能力 5

1.5 Cloud Native的原則 6

第2章 微服務架構 11

2.1 微服務架構的起源 11

2.2 為什麼採用微服務架構 12

2.2.1 單體架構與微服務架構 12

2.2.2 什麼時候開始微服務架構 14

2.2.3 如何決定微服務架構的拆分粒度 14

2.3 微服務設計原則 15

2.4 微服務架構實施的先決條件 17

2.4.1 研發環境和流程上的轉變 17

2.4.2 拆分前先做好解耦 18

2.5 微服務劃分模式 20

2.5.1 基於業務複雜度選擇服務劃分方法 20

2.5.2 基於數據驅動劃分服務 21

2.5.3 基於領域驅動劃分服務 22

2.5.4 從已有單體架構中逐步劃分服務 23

2.5.5 微服務拆分策略 24

2.5.6 如何衡量服務劃分的合理性 25

2.6 微服務劃分反模式 26

2.7 微服務API設計 28

2.7.1 優秀API的設計原則 28

2.7.2 服務間通信——RPC 28

2.7.3 序列化——Protobuf 30

2.7.4 服務間通信——RESTful 33

2.7.5 通過Swagger實現RESTful 36

2.7.6 通過Spring Boot、Springfox、Swagger實現RESTful 41

2.7.7 HTTP協定的進化——HTTP/2 46

2.7.8 HTTP/2和Protobuf的組合——gRPC 48

2.8 微服務框架 53

2.9 基於Dubbo框架實現微服務 54

2.10 基於Spring Cloud框架實現微服務 58

2.11 服務發現場景下的ZooKeeper與Etcd 67

2.12 微服務部署策略 68

2.12.1 服務獨享資料庫 69

2.12.2 服務獨享虛擬機/容器 70

2.13 為什麼總覺得微服務架構很彆扭 70

第3章 敏捷基礎設施及公共基礎服務 73

3.1 傳統基礎設施面臨的挑戰 73

3.2 什麼是敏捷基礎設施 74

3.3 基於容器的敏捷基礎設施 75

3.3.1 容器VS虛擬機 76

3.3.2 安裝Docker 77

3.3.3 部署私有Docker Registry 79

3.3.4 基於Spring Boot、Maven、Docker構建微服務 79

3.3.5 基於docker-compose管理容器 84

3.4 基於公共基礎服務的平台化 85

3.5 監控告警服務 86

3.5.1 監控數據採集 87

3.5.2 監控數據接收模式 87

3.5.3 通過時間序列資料庫存儲監控數據 88

3.5.4 開源監控系統實現Prometheus 88

3.5.5 通過Prometheus和Grafana監控服務 90

3.6 分散式訊息中間件服務 96

3.6.1 分散式訊息中間件的作用 97

3.6.2 業界常用的分散式訊息中間件 98

3.6.3 Kafka的設計原理 99

3.6.4 為什麼Kafka性能高 100

3.6.5 Kafka的數據存儲結構 102

3.6.6 如何保證Kafka不丟訊息 104

3.6.7 Kafka跨數據中心場景集群部署模式 106

3.7 分散式快取服務 108

3.7.1 分散式快取的套用場景 109

3.7.2 業界常用的分散式快取Memcached 110

3.7.3 業界常用的分散式快取——Redis 111

3.7.4 Redis常用的分散式快取集群模式 112

3.7.5 基於Codis實現Redis分散式快取集群 116

3.8 分散式任務調度服務 118

3.8.1 通過Tbschedule實現分散式任務調度 119

3.8.2 通過Elastic-Job實現分散式任務調度 123

相關詞條

熱門詞條

聯絡我們