注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡操作系統(tǒng)Spring Cloud Alibaba微服務開發(fā)零基礎入門到實操(視頻教學版)

Spring Cloud Alibaba微服務開發(fā)零基礎入門到實操(視頻教學版)

Spring Cloud Alibaba微服務開發(fā)零基礎入門到實操(視頻教學版)

定 價:¥89.80

作 者: 孫衛(wèi)琴
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302674009 出版時間: 2024-11-01 包裝: 平裝
開本: 16開 頁數: 字數:  

內容簡介

  本書以技術新手阿云的巧妙提問和答主的點睛指導為引線,以Spring Cloud Alibaba微服務開發(fā)框架為脈絡,帶領讀者全面系統(tǒng)地探索Spring Cloud Alibaba微服務開發(fā)過程中應用到的技術和解決方案。本書技術包含了各種組件及框架的用法,包括注冊和配置中心Nacos、負載均衡器LoadBalancer、遠程調用組件OpenFeign、遠程調用框架Dubbo、流量控制組件Sentinel、網關組件GateWay、消息驅動框架Stream及消息中間件RocketMQ、鏈路追蹤組件SkyWalking、分布式事務管理框架Seata、分庫分表中間件ShardingSphere、分布式緩存數據庫Redis、分布式任務調度框架XXL-JOB。技術新手阿云在開發(fā)過程中的巧妙提問,能夠激發(fā)讀者主動學習的興趣;而答主的巧妙解答和本書知識結構的設計,把看似深奧復雜的分布式微服務系統(tǒng)如庖丁解牛般解析得淺顯易懂。本書不僅詳細介紹了各種組件及框架技術的使用步驟,而且運用了許多生動形象的生活化比喻,幫助讀者理解這些技術的運作原理。本書中的范例具有實用性,整合了Spring Boot、Spring Cloud Alibaba、Hibernate、Mybatis、DruidDataSource、HikariDataSource、lombok軟件包、SLF4J等流行的框架或工具軟件。本書主要面向具有Java編程基礎的開發(fā)人員和在校學生。對于不熟悉Java編程的讀者,通過閱讀本書,也能了解Spring Cloud Alibaba框架的基本用法和微服務開發(fā)的核心思想。本書還可作為高校和企業(yè)的微服務開發(fā)教材。

作者簡介

  孫衛(wèi)琴,知名IT作家和Java專家,畢業(yè)于上海交通大學,隨后主要從事軟件開發(fā)工作,擅長Java軟件研發(fā)和架構設計,還從事Java方面的培訓和咨詢工作。2002年開始Java技術領域的創(chuàng)作,文風清晰嚴謹、深入淺出,深受讀者歡迎,其多部作品在同類書籍中經常位居全國暢銷排行榜的榜首。

圖書目錄

第1 章 微服務簡介      1
1.1微服務的概念與特征 1
1.1.1微服務按照業(yè)務進行劃分 1
1.1.2微服務運行在獨立的進程中 2
1.1.3微服務采用簡單協(xié)議通信 2
1.1.4微服務采用統(tǒng)一的管理框架 3
1.2Spring Cloud框架概述 4
1.3Spring Cloud Alibaba框架概述 5
1.4各種軟件的版本匹配 6
1.5搭建微服務的開發(fā)和運行環(huán)境 7
1.5.1安裝Intellij IDEA 7
1.5.2為IDEA配置Maven 7
1.5.3安裝和啟動Nacos服務器 8
1.5.4訪問Nacos服務器的管理平臺 9
1.5.5查看Nacos服務器的日志 10
1.6云原生的概念 10
1.7 小結 11
第2 章 范例:helloapp項目    12
2.1提供者和消費者的通信及實現原理 12
2.2在IDEA中創(chuàng)建helloapp項目 13
2.3創(chuàng)建hello-provider模塊 14
2.3.1在IDEA中創(chuàng)建hello-provider 模塊 14
2.3.2在pom.xml文件中添加Spring Cloud Alibaba依賴 15
2.3.3創(chuàng)建控制器類
HelloProviderController 19
2.3.4在application.properties文件中配置微服務 20
2.3.5啟動hello-provider模塊 20
2.4創(chuàng)建hello-consumer模塊 21
2.4.1在IDEA中創(chuàng)建hello-consumer 模塊 21
2.4.2在啟動類中加入@EnableFeignClients注解 23
2.4.3創(chuàng)建HelloFeignService接口 23
2.4.4創(chuàng)建控制器類HelloConsumerController 24
2.4.5在application.properties文件中配置微服務 25
2.4.6啟動和訪問hello-consumer 模塊 25
2.4.7HelloFeignService接口的默認方法 26
2.5啟動微服務的多個實例 26
2.6LoadBalancer負載均衡器 29
2.7通過RestTemplate類訪問微服務 30
2.7.1使用LoadBalancerClient接口整合 31
2.7.2使用@LoadBalanced注解整合 32
2 .8 小結 33
第3 章 微服務的注冊與發(fā)現      34
3.1Nacos Discovery組件的配置屬性 35
3.1.1禁止注冊微服務 36
3.1.2Nacos Discovery組件的客戶端緩存 37
3.1.3微服務的分組和命名空間 37
3.2微服務的健康檢測 38
3.2.1微服務的臨時實例 39
3.2.2微服務的永久實例 39
3.3訪問DiscoveryClient接口 40
3.4通過Actuator監(jiān)控Nacos Discovery組件的端點 42
3.5Nacos Discovery組件對微服務列表的監(jiān)控 43
3.6 小結 44
第4 章 Nacos服務器配置中心      45
4.1在Nacos服務器中創(chuàng)建配置屬性 46
4.2在微服務中讀取配置屬性 47
4.2.1創(chuàng)建bootstrap.properties配置文件 47
4.2.2Nacos Config組件的配置屬性 48
4.2.3通過Environment對象讀取配置屬性 49
4.2.4通過@Value注解讀取配置屬性 50
4.2.5通過@ConfigurationProperties 注解讀取配置屬性 51
4.3配置單元的Data ID、分組和命名空間 52
4.4配置屬性的動態(tài)更新 54
4.5不同環(huán)境下配置屬性的切換 54
4.6擴展的配置單元 56
4.7監(jiān)控Nacos Config組件的端點 58
4.8設置YAML格式的配置屬性 60
4.9配置屬性的持久化 60
4.10配置屬性的回滾 62
4.11 小結 64
第5 章 Nacos集群    65
5.1Nacos集群的Raft算法 65
5.1.1節(jié)點之間數據的同步 66
5.1.2節(jié)點的選舉機制 66
5.2搭建Nacos集群 67
5.2.1配置Nacos節(jié)點 68
5.2.2啟動Nacos節(jié)點 69
5.2.3避免Nacos節(jié)點之間的端口沖突 69
5.2.4Nacos集群的選舉 69
5.2.5通過微服務訪問Nacos集群 71
5.2.6Nacos集群的同步 71
5.3Nacos集群的AP和CP運行模式 72
5.4使用Nginx反向代理服務器  73
5.5通過Keepalived建立Nginx集群 76
5.6 小結 80
第6 章 遠程調用組件:OpenFeign 81
6.1優(yōu)化設定所訪問的微服務的名字 81
6.2優(yōu)化設定映射URL的根路徑 82
6.3輸出詳細日志 83
6.4請求數據和響應數據的壓縮 84
6.5超時配置 85
6.6異常處理 87
6.6.1OpenFeign與Sentinel的整合 87
6.6.2創(chuàng)建回調類 87
6.6.3創(chuàng)建回調類和工廠類 89
6.7傳遞對象參數 91
6.7.1傳遞簡單對象 92
6.7.2傳遞復雜對象 93
6.8 小結 94
第7 章 遠程調用框架:Dubbo     95
7.1比較Dubbo和OpenFeign 95
7.2創(chuàng)建采用Dubbo框架的范例 96
7.2.1創(chuàng)建hello-provider模塊 96
7.2.2創(chuàng)建hello-consumer模塊... 100
7.2.3消費者遠程訪問提供者 101
7.3超時時間和重試次數設置 102
7.4異常處理 104
7.5傳遞復雜對象類型數據 104
7.6負載均衡 106
7.7Dubbo與Sentinel的整合 108
7.8提供者回調消費者 111
7.9消費者異步調用提供者的服務方法 115
7.10 小結 117
第8 章 流量控制組件:Sentinel      118
8.1微服務容錯的基本原理 118
8.2微服務與Sentinel的整合 121
8.2.1hello-consumer模塊與Sentinel的整合 121
8.2.2安裝Sentinel控制臺 122
8.2.3在Sentinel控制臺中查看微服務的流量 123
8.3流控規(guī)則 124
8.3.1流控模式 125
8.3.2流控效果 127
8.4熔斷規(guī)則 128
8.4.1慢調用比例 129
8.4.2異常比例 129
8.4.3 異常數 130
8.5系統(tǒng)規(guī)則 131
8.6授權規(guī)則 132
8.7@SentinelResource注解 133
8.7.1熱點規(guī)則 133
8.7.2請求被拒絕的處理方式 135
8.7.3對異常的處理 136
8.8自定義處理BlockException異常的方式 138
8.9集群流控 140
8.9.1集群流控的原理 140
8.9.2Token Server的部署模式 141
8.9.3配置集群流控 142
8.10Sentinel規(guī)則的持久化 146
8.10.1流控規(guī)則的持久化 146
8.10.2熔斷規(guī)則的持久化 148
8.10.3系統(tǒng)規(guī)則的持久化 150
8.11 小結 151
第9 章 網關組件:GateWay            152
9.1GateWay簡介 152
9.2創(chuàng)建網關服務模塊 153
9.3GateWay與Nacos的整合 155
9.4 斷言 157
9.4.1內置的斷言工廠類 157
9.4.2自定義斷言工廠類 159
9.5 過 濾器 162
9.5.1局部內置過濾器 163
9.5.2默認過濾器 167
9.5.3全局內置過濾器 167
9.5.4自定義局部過濾器 168
9.5.5自定義全局過濾器 170
9.5.6SLF4J日志工具 171
9.6GateWay與Sentinel的整合 172
9.6.1對路由限流 174
9.6.2對自定義的API入口限流 175
9.6.3同時對路由和API入口限流 178
9.7跨域配置 180
9.8超時配置 181
9.9通過Actuator監(jiān)控網關 182
9.10網關集群 183
9.11 小結 185
第10 章 消息驅動框架:Stream     186
10.1消息中間件簡介 187
10.1.1消息中間件的運用場景 187
10.1.2消息中間件的缺點 189
10.1.3消息中間件產品 189
10.2RocketMQ簡介 190
10.2.1RocketMQ涉及的基本概念 191
10.2.2RocketMQ的消息收發(fā)模型 191
10.2.3安裝和啟動RocketMQ 192
10.2.4安裝和啟動RocketMQ控制臺 193
10.3搭建RocketMQ集群 194
10.3.1搭建NameServer集群 195
10.3.2搭建BrokerServer集群 195
10.3.3多Master模式 197
10.3.4多Master多Slave的異步復制模式 198
10.3.5多Master多Slave的同步雙寫模式 199
10.4Spring Cloud Stream簡介 200
10.5在微服務中收發(fā)消息 200
10.5.1創(chuàng)建消息生產者 201
10.5.2創(chuàng)建消息消費者 202
10.5.3運行消息生產者和消息消費者 203
10.5.4收發(fā)Message類型的消息 203
10.6通過StreamBridge類發(fā)送消息 205
10.6.1StreamBridge類的用法 205
10.6.2用ChannelInterceptor攔截消息 207
10.7發(fā)送HTTP請求正文 208
10.8通過Function函數式接口收發(fā)消息 209
10.9響應式收發(fā)消息 210
10.10多輸入通道和輸出通道 211
10.11批量消費消息 213
10.12批量生產消息 213
10.13處理錯誤 214
10.13.1清除失敗消息 214
10.13.2把失敗消息發(fā)送到DLQ 214
10.13.3嘗試重新消費失敗消息... 215 10.14 消費者分組和分區(qū) 217
10.15消息正文的類型轉換 219
10.16通過Actuator監(jiān)控Stream 221
10.17 小結 222
第11 章 鏈路追蹤組件:SkyWalking       223
11.1SkyWalking簡介 223
11.2鏈路追蹤軟件 224
11.3安裝和運行SkyWalking 225
11.4在微服務中安置探針 227
11.4.1查看拓撲圖 229
11.4.2追蹤鏈路 229
11.4.3查看監(jiān)控數據 230
11.4.4性能分析 230
11.5采集日志 232
11.6自定義鏈路追蹤 235
11.7忽略端點 237
11.8 告警 238
11.8.1編寫滿足告警規(guī)則的方法 240
11.8.2創(chuàng)建處理告警的webhook 241
11.8.3測試告警 243
11.9整合Elasticsearch數據庫 245
11.10整合MySQL數據庫 247
11.11通過Nacos建立SkyWalking集群 247
11.12 小結 250
第12 章 分布式事務管理框架:Seata          251
12.1分布式事務概述 251
12.2Seata簡介 253
12.3Seata的事務模式 254
12.3.1AT 模式 255
12.3.2TCC 模式 261
12.3.3Saga 模式 262
12.3.4XA 模式 262
12.4安裝和運行Seata Server 263
12.5創(chuàng)建AT模式下的范例 265
12.5.1創(chuàng)建Seata Server的MySQL 存儲源 266
12.5.2處理分布式事務的微服務的架構 267
12.5.3創(chuàng)建order-service微服務 268
12.5.4聲明全局事務和分支事務 276
12.5.5演示全局事務的提交和撤銷 276
12.6搭建與Nacos整合的Seata Server集群 278
12.6.1在MySQL中創(chuàng)建seata數據庫和表 279
12.6.2在Nacos配置中心配置Seata Server 279
12.6.3在Seata Server的配置文件中配置Nacos 280
12.6.4在微服務中配置Seata 282
12.6.5運行和訪問Seata Server集群 282
12.7事務組與Seata Server集群的映射 283
12.8 小結 284
第13 章 分庫分表中間件:ShardingSphere    285
13.1分庫分表概述 286
13.2ShardingSphere簡介 288
13.2.1Sharding-JDBC簡介 289
13.2.2Sharding-Proxy簡介 290
13.3ShardingSphere的核心概念 290
13.3.1與表相關的概念 290
13.3.2與分片相關的概念 291
13.4ShardingSphere的工作流程 293
13.5ShardingSphere的SQL規(guī)范 294
13.6運用Sharding-JDBC的范例 296
13.6.1加入Sharding-JDBC等的依賴 296
13.6.2創(chuàng)建拆分后的訂單表 297
13.6.3配置Sharding-JDBC 和MyBatis 298
13.6.4創(chuàng)建Order實體類  299
13.6.5創(chuàng)建訪問數據的OrderDao接口 299
13.6.6創(chuàng)建OrderService類 300
13.6.7創(chuàng)建OrderController類 300
13.6.8運行演示SQL路由的范例 301
13.6.9把訂單表拆分到兩個數據庫中 301
13.6.10配置綁定表 303
13.6.11配置廣播表 304
13.6.12主從數據庫和讀寫分離 305
13.7Sharding-Proxy簡介 307
13.7.1安裝和配置Sharding-Proxy 308
13.7.2在微服務中訪問Sharding-Proxy 311
13.7.3配置讀寫分離 312
13.7.4配置數據加密 314
13.7.5配置影子數據源 316
13.8 小結 318
第14 章 分布式緩存數據庫:Redis     319
14.1Redis簡介 319
14.2安裝和啟動Redis  320
14.3在微服務中訪問Redis  321
14.4Redis數據類型  322
14.4.1讀寫list類型數據 323
14.4.2讀寫set類型數據 324
14.4.3讀寫zset類型數據 326
14.4.4讀寫hash類型數據 327
14.4.5序列化Java對象 328
14.5Redis集群 329
14.5.1主從模式 329
14.5.2哨兵模式 330
14.5.3集群模式 331
14.5.4搭建Redis集群 332
14.6在微服務中訪問Redis集群  334
14.7 小結 334
第15 章 分布式任務調度框架:XXL-JOB    336
15.1安裝和運行XXL-JOB 337
15.1.1創(chuàng)建XXL-JOB的數據庫 337
15.1.2配置XXL-JOB調度中心 338
15.1.3運行和訪問XXL-JOB調度  中心 339
15.1.4配置XXL-JOB執(zhí)行器 340
15.1.5運行XXL-JOB執(zhí)行器 342
15.2創(chuàng)建和執(zhí)行GLUE模式的任務 342
15.3創(chuàng)建和執(zhí)行BEAN模式的任務 346
15.3.1任務的初始化和銷毀 347
15.3.2帶參數的任務 348
15.4執(zhí)行器集群和分片執(zhí)行任務 352
15.5搭建調度中心的集群 354
15.6 小結 356

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號