1 微服務介紹 1
1.1 什麼是微服務架構 2
1.2 垂直應用與微服務 2
1.3 實現一個最簡單的微服務框架 3
1.3.1 公共接口 4
1.3.2 服務端 4
1.3.3 客戶端 7
1.3.4 完善框架 8
1.4 主流微服務框架介紹 9
1.4.1 Dubbo 9
1.4.2 Spring Cloud 10
2 模塊拆分 12
2.1 拆分邏輯 13
2.2 單模塊 14
2.3 基礎模塊 14
2.4 復雜模塊 15
3 Spring Boot 16
3.1 目錄結構 17
3.2 主要文件 18
3.3 編輯器集成 18
4 Dubbo 20
4.1 注冊中心 21
4.2 接口工程 22
4.3 服務端 23
4.4 消費方 28
4.5 網關 30
4.6 監控中心 33
4.7 服務管理 35
4.8 負載均衡 36
4.9 服務降級 37
4.10 集群容錯 38
5 Spring Cloud 40
5.1 注冊中心 41
5.2 注冊服務 44
5.3 調用服務 45
5.3.1 Ribbon 46
5.3.2 Feign 49
5.4 Zuul網關 51
5.5 Hystrix 斷路器 54
5.5.1 Ribbon 54
5.5.2 Fegin 57
5.6 服務監控 58
5.7 應用監控 61
5.8 熔斷器監控 62
5.8.1 單應用的熔斷數據 63
5.8.2 使用Turbine聚閤數據 64
5.8.3 Cloud Admin整閤Turbine 65
5.9 統一管理配置文件 66
6 數據持久化 70
6.1 Spring Data MySQL 71
6.1.1 依賴與配置 71
6.1.2 實體映射 72
6.1.3 Repository 76
6.1.4 JdbcTemplate 79
6.1.5 事務管理 80
6.2 Spring Data MongoDB 81
6.2.1 依賴與配置 81
6.2.2 實體映射 82
6.2.3 Repository 83
6.2.4 MongoTemplate 84
6.3 Spring Data ElasticSearch 85
6.3.1 基本概念 85
6.3.2 安裝與運行 86
6.3.3 基於HTTP交互 87
6.3.4 配置分詞器 91
6.3.5 依賴與配置 94
6.3.6 實體映射 94
6.3.7 Repository 95
6.3.8 ElasticsearchTemplate 96
6.4 TCC 分布式事務 98
6.5 Spring Data Redis 100
6.5.1 安裝運行 100
6.5.2 依賴與配置 101
6.5.3 緩存支持 102
6.5.4 RedisTemplate 106
6.5.5 全局鎖 107
7 錶單驗證 110
8 定時任務 113
8.1 Spring Task 單機定時任務 114
8.2 Cron 錶達式 114
8.3 QuartZ 分布式定時任務 116
9 分布式會話 122
10 消息隊列 124
10.1 安裝及配置RabbitMQ 125
10.2 配置及使用 128
11 構建Web應用 130
12 異常處理 133
13 安全認證 139
13.1 OAuth2.0 協議介紹 140
13.2 shouquan模式 141
13.3 在Dubbo中使用OAuth 2.0 142
13.4 在Spring Cloud 中使用OAuth 2.0 151
13.4.1 shouquan中心 151
13.4.2 服務模塊配置 154
13.4.3 網關配置 157
13.4.4 測試運行 159
14 日誌管理 161
14.1 Spring Boot 日誌 162
14.1.1 日誌格式 162
14.1.2 輸齣到文件 163
14.1.3 擴展配置 163
14.2 分布式日誌管理 166
14.2.1 ELK 搭建 167
14.2.2 Spring Boot 配置 169
15 熱部署 171
16 接口文檔管理 173
16.1 Dubbo中使用Swagger2 174
16.2 Spring Cloud中使用Swagger2 178
16.2.1 微服務模塊配置 179
16.2.2 網關模塊配置 181
17 Nexus私庫 184
17.1 Nexus 安裝 185
17.2 從Nexus私庫下載jar包 187
17.3 上傳jar包到Nexus私庫 189
18 發布係統 191
18.1 Jenkins 安裝配置 192
18.2 構建任務 194
19 分布式架構總結 201
· · · · · · (
收起)