Spring Cloud Alibaba 微服務實戰
內容描述
《Spring Cloud Alibaba微服務實戰》從初學者的角度出發,
從微服務基礎理論開始,基於Spring Boot框架搭建微服務系統。
介紹了使用Spring Cloud Alibaba套件及其他熱門微服務組件構建微服務系統的方法、微服務系統中常見的問題及解決方案,
以及如何快速部署項目,使讀者從開發到上線整體流程有一個清晰的認識。
《Spring Cloud Alibaba微服務實戰》分為14章。
第1~3章主要介紹了微服務的基礎理論和配置基礎開發環境的方法,
以及如何構建Spring Cloud Alibaba模板項目;
第4~13章主要介紹瞭如何使用Spring Cloud Alibaba套件(Nacos、Sentinel等)
和當下流行的微服務組件(如Spring Cloud Gateway、Spring Cloud Stream等)搭建微服務系統,解決開發中的常見問題;
第14章主要介紹瞭如何使用Jenkins Gitlab Docker部署服務,使其又快又穩。
通過對《Spring Cloud Alibaba微服務實戰》的學習,
讀者能夠熟知程序由開發到上線的整體流程。
《Spring Cloud Alibaba微服務實戰》內容豐富,案例通俗易懂,
幾乎涵蓋了目前Spring Cloud的全部熱門組件,
特別適合想要了解Spring Cloud熱門組件以及想搭建微服務系統的讀者閱讀
目錄大綱
目 錄
第1章 微服務概述 1
1.1單體架構、SOA 和微服務 2
1.2為什麼使用微服務 2
1.3小結 4
第2章 微服務技術棧 5
2.1微服務所需要的技術棧 6
2.2Spring Cloud 技術棧對應實現概覽 6
2.3Spring Cloud Alibaba 簡介 7
2.4小結 7
第3章 環境搭建 8
3.1Java 開發環境配置 9
3.2MySql 的安裝和配置 9
3.3Spring Boot 的起步 13
3.4建立 Spring Cloud Alibaba 模板項目 15
3.5小結 16
第4章 服務命名管理、配置中心、註冊中心——Nacos 17
4.1Nacos 簡介 18
4.2Nacos 下載和安裝 18
4.3使用 Nacos 服務註冊中心功能 19
4.4使用 Nacos 配置中心功能 26
4.5Nacos 持久化配置 33
4.6Nacos 集群部署 35
4.7註冊中心產品對比 47
4.8Nacos 的 CP 和 AP 48
4.9源碼分析 49
4.10小結 107
第5章 遠程調用——RestTemplate Ribbon 108
5.1RestTemplate 簡介 109
5.2Ribbon 簡介 109
5.3Ribbon 自帶的負載均衡規則 109
5.4替換 Ribbon 的負載均衡規則 110
5.5RandomRule 規則源碼解析 111
5.6自定義負載均衡規則 113
5.7小結 114
第6章 流量控制框架——Sentinel 115
6.1Sentinel 簡介 116
6.2Sentinel 同類產品對比 116
6.3下載和運行 117
6.4項目集成 Sentinel 118
6.5使用 Sentinel 常用規則 122
6.6使用 @SentinelResource 註解 131
6.7Sentinel 數據持久化 139
6.8集群流控 146
6.9小結 154
第7章 遠程調用——OpenFeign 155
7.1OpenFeign 簡介 156
7.2集成 OpenFeign 156
7.3代碼小優化 159
7.4結合 Sentinel 規則使用 160
7.5對於異常情況的處理 160
7.6實現負載均衡 161
7.7OpenFeign 超時配置 162
7.8OpenFeign 詳細日誌 164
7.9請求和響應壓縮 166
7.10傳遞參數 168
7.11小結 172
第8章 遠程調用——Dubbo Spring Cloud 173
8.1Dubbo Spring Cloud 簡介 174
8.2Dubbo Spring Cloud 主要特性 174
8.3代碼集成 Dubbo Spring Cloud 174
8.4傳遞對象 178
8.5結合 Sentinel 功能 180
8.6實現負載均衡 181
8.7小結 181
第9章 服務網關——Spring Cloud Gateway 182
9.1Spring Cloud Gateway 簡介 183
9.2集成 Spring Cloud Gateway 183
9.3整合 Nacos 186
9.4Predicate( 斷言 ) 188
9.5Filter( 過濾器 ) 194
9.6整合 Sentinel 功能 202
9.7超時配置 206
9.8CORS 配置 207
9.9關於網關高可用 209
9.10小結 210
第 10 章 解決分佈式事務——Seata 211
10.1分佈式事務問題 212
10.2分佈式事務問題演示 212
10.3分佈式事務解決方案概覽 217
10.4Seata 簡介 221
10.5Seata 下載、安裝和配置 222
10.6整合 Seata 解決分佈式事務問題 223
10.7Seata 運行流程解析 231
10.8Seata 服務端高可用 232
10.9小結 233
第 11 章 整合消息系統——Spring Cloud Stream 234
11.1Spring Cloud Stream 簡介 235
11.2常用註解介紹 236
11.3RocketMQ 簡介 236
11.4下載、安裝和啟動 RocketMQ 236
11.5編寫 Spring Cloud Stream RocketMQ 消息生產者代碼 237
11.6編寫 Spring Cloud Stream RocketMQ 消息消費者代碼 239
11.7驗證消息生產和消息消費 241
11.8發送對象消息 242
11.9關於重複消費問題 243
11.10消息過濾 243
11.11異常處理 246
11.12事務消息 247
11.13Spring Cloud Stream 的監控 251
11.14 小結 252
第 12 章 分佈式鏈路追踪——SkyWalking 253
12.1SkyWalking 簡介 254
12.2同類產品對比 254
12.3Elasticsearch 簡介 255
12.4下載和安裝 Elasticsearch 255
12.5下載和安裝 SkyWalking 258
12.6IDEA 使用 agent 260
12.7忽略端點 263
12.8 告警 264
12.9性能分析 268
12.10Tomcat 或 Jar 包使用 agent 269
12.11配置賬號密碼登錄 270
12.12 小結 271
第 13 章 分佈式任務調度框架——XXL-JOB 272
13.1 原生定時任務的缺陷 273
13.2XXL-JOB 簡介 273
13.3下載源碼和運行 XXL-JOB 調度中心 274
13.4創建執行器項目 276
13.5使用個 GLUE(Java)任務 278
13.6BEAN 模式普通任務 280
13.7執行器集群和 BEAN 模式分片任務 281
13.8調度中心和執行器的集群 283
13.9小結 284
第 14 章 部署項目 285
14.1打包項目 286
14.2命令行部署運行 287
14.3Jenkins 部署運行 287
14.4Docker 部署運行 303
14.5Jenkins Gitlab Docker 部署運行 312
14.6小結 315
作者介紹
周仲清
廣橫易科技有限公司技術專家,先後擔任過技術組長、技術總監。
負責公司基礎架構建設、業務代碼編寫、服務部署上線,以及解決線上問題。
近6年來主要從事連接服務、數據爬蟲、微服務系統開發、微服務服務架構部署、參數調優等。