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

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

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

定 價:¥89.80

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

ISBN: 9787302674009 出版時間: 2024-11-01 包裝: 平裝
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第1 章 微服務(wù)簡介      1
1.1微服務(wù)的概念與特征 1
1.1.1微服務(wù)按照業(yè)務(wù)進(jìn)行劃分 1
1.1.2微服務(wù)運行在獨立的進(jìn)程中 2
1.1.3微服務(wù)采用簡單協(xié)議通信 2
1.1.4微服務(wù)采用統(tǒng)一的管理框架 3
1.2Spring Cloud框架概述 4
1.3Spring Cloud Alibaba框架概述 5
1.4各種軟件的版本匹配 6
1.5搭建微服務(wù)的開發(fā)和運行環(huán)境 7
1.5.1安裝Intellij IDEA 7
1.5.2為IDEA配置Maven 7
1.5.3安裝和啟動Nacos服務(wù)器 8
1.5.4訪問Nacos服務(wù)器的管理平臺 9
1.5.5查看Nacos服務(wù)器的日志 10
1.6云原生的概念 10
1.7 小結(jié) 11
第2 章 范例:helloapp項目    12
2.1提供者和消費者的通信及實現(xiàn)原理 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文件中配置微服務(wù) 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文件中配置微服務(wù) 25
2.4.6啟動和訪問hello-consumer 模塊 25
2.4.7HelloFeignService接口的默認(rèn)方法 26
2.5啟動微服務(wù)的多個實例 26
2.6LoadBalancer負(fù)載均衡器 29
2.7通過RestTemplate類訪問微服務(wù) 30
2.7.1使用LoadBalancerClient接口整合 31
2.7.2使用@LoadBalanced注解整合 32
2 .8 小結(jié) 33
第3 章 微服務(wù)的注冊與發(fā)現(xiàn)      34
3.1Nacos Discovery組件的配置屬性 35
3.1.1禁止注冊微服務(wù) 36
3.1.2Nacos Discovery組件的客戶端緩存 37
3.1.3微服務(wù)的分組和命名空間 37
3.2微服務(wù)的健康檢測 38
3.2.1微服務(wù)的臨時實例 39
3.2.2微服務(wù)的永久實例 39
3.3訪問DiscoveryClient接口 40
3.4通過Actuator監(jiān)控Nacos Discovery組件的端點 42
3.5Nacos Discovery組件對微服務(wù)列表的監(jiān)控 43
3.6 小結(jié) 44
第4 章 Nacos服務(wù)器配置中心      45
4.1在Nacos服務(wù)器中創(chuàng)建配置屬性 46
4.2在微服務(wù)中讀取配置屬性 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擴(kuò)展的配置單元 56
4.7監(jiān)控Nacos Config組件的端點 58
4.8設(shè)置YAML格式的配置屬性 60
4.9配置屬性的持久化 60
4.10配置屬性的回滾 62
4.11 小結(jié) 64
第5 章 Nacos集群    65
5.1Nacos集群的Raft算法 65
5.1.1節(jié)點之間數(shù)據(jù)的同步 66
5.1.2節(jié)點的選舉機(jī)制 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通過微服務(wù)訪問Nacos集群 71
5.2.6Nacos集群的同步 71
5.3Nacos集群的AP和CP運行模式 72
5.4使用Nginx反向代理服務(wù)器  73
5.5通過Keepalived建立Nginx集群 76
5.6 小結(jié) 80
第6 章 遠(yuǎn)程調(diào)用組件:OpenFeign 81
6.1優(yōu)化設(shè)定所訪問的微服務(wù)的名字 81
6.2優(yōu)化設(shè)定映射URL的根路徑 82
6.3輸出詳細(xì)日志 83
6.4請求數(shù)據(jù)和響應(yīng)數(shù)據(jù)的壓縮 84
6.5超時配置 85
6.6異常處理 87
6.6.1OpenFeign與Sentinel的整合 87
6.6.2創(chuàng)建回調(diào)類 87
6.6.3創(chuàng)建回調(diào)類和工廠類 89
6.7傳遞對象參數(shù) 91
6.7.1傳遞簡單對象 92
6.7.2傳遞復(fù)雜對象 93
6.8 小結(jié) 94
第7 章 遠(yuǎn)程調(diào)用框架: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消費者遠(yuǎn)程訪問提供者 101
7.3超時時間和重試次數(shù)設(shè)置 102
7.4異常處理 104
7.5傳遞復(fù)雜對象類型數(shù)據(jù) 104
7.6負(fù)載均衡 106
7.7Dubbo與Sentinel的整合 108
7.8提供者回調(diào)消費者 111
7.9消費者異步調(diào)用提供者的服務(wù)方法 115
7.10 小結(jié) 117
第8 章 流量控制組件:Sentinel      118
8.1微服務(wù)容錯的基本原理 118
8.2微服務(wù)與Sentinel的整合 121
8.2.1hello-consumer模塊與Sentinel的整合 121
8.2.2安裝Sentinel控制臺 122
8.2.3在Sentinel控制臺中查看微服務(wù)的流量 123
8.3流控規(guī)則 124
8.3.1流控模式 125
8.3.2流控效果 127
8.4熔斷規(guī)則 128
8.4.1慢調(diào)用比例 129
8.4.2異常比例 129
8.4.3 異常數(shù) 130
8.5系統(tǒng)規(guī)則 131
8.6授權(quán)規(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 小結(jié) 151
第9 章 網(wǎng)關(guān)組件:GateWay            152
9.1GateWay簡介 152
9.2創(chuàng)建網(wǎng)關(guān)服務(wù)模塊 153
9.3GateWay與Nacos的整合 155
9.4 斷言 157
9.4.1內(nèi)置的斷言工廠類 157
9.4.2自定義斷言工廠類 159
9.5 過 濾器 162
9.5.1局部內(nèi)置過濾器 163
9.5.2默認(rèn)過濾器 167
9.5.3全局內(nèi)置過濾器 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)控網(wǎng)關(guān) 182
9.10網(wǎng)關(guān)集群 183
9.11 小結(jié) 185
第10 章 消息驅(qū)動框架:Stream     186
10.1消息中間件簡介 187
10.1.1消息中間件的運用場景 187
10.1.2消息中間件的缺點 189
10.1.3消息中間件產(chǎn)品 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的異步復(fù)制模式 198
10.3.5多Master多Slave的同步雙寫模式 199
10.4Spring Cloud Stream簡介 200
10.5在微服務(wù)中收發(fā)消息 200
10.5.1創(chuàng)建消息生產(chǎn)者 201
10.5.2創(chuàng)建消息消費者 202
10.5.3運行消息生產(chǎn)者和消息消費者 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函數(shù)式接口收發(fā)消息 209
10.9響應(yīng)式收發(fā)消息 210
10.10多輸入通道和輸出通道 211
10.11批量消費消息 213
10.12批量生產(chǎn)消息 213
10.13處理錯誤 214
10.13.1清除失敗消息 214
10.13.2把失敗消息發(fā)送到DLQ 214
10.13.3嘗試重新消費失敗消息... 215 10.14 消費者分組和分區(qū) 217
10.15消息正文的類型轉(zhuǎn)換 219
10.16通過Actuator監(jiān)控Stream 221
10.17 小結(jié) 222
第11 章 鏈路追蹤組件:SkyWalking       223
11.1SkyWalking簡介 223
11.2鏈路追蹤軟件 224
11.3安裝和運行SkyWalking 225
11.4在微服務(wù)中安置探針 227
11.4.1查看拓?fù)鋱D 229
11.4.2追蹤鏈路 229
11.4.3查看監(jiān)控數(shù)據(jù) 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數(shù)據(jù)庫 245
11.10整合MySQL數(shù)據(jù)庫 247
11.11通過Nacos建立SkyWalking集群 247
11.12 小結(jié) 250
第12 章 分布式事務(wù)管理框架:Seata          251
12.1分布式事務(wù)概述 251
12.2Seata簡介 253
12.3Seata的事務(wù)模式 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處理分布式事務(wù)的微服務(wù)的架構(gòu) 267
12.5.3創(chuàng)建order-service微服務(wù) 268
12.5.4聲明全局事務(wù)和分支事務(wù) 276
12.5.5演示全局事務(wù)的提交和撤銷 276
12.6搭建與Nacos整合的Seata Server集群 278
12.6.1在MySQL中創(chuàng)建seata數(shù)據(jù)庫和表 279
12.6.2在Nacos配置中心配置Seata Server 279
12.6.3在Seata Server的配置文件中配置Nacos 280
12.6.4在微服務(wù)中配置Seata 282
12.6.5運行和訪問Seata Server集群 282
12.7事務(wù)組與Seata Server集群的映射 283
12.8 小結(jié) 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與表相關(guān)的概念 290
13.3.2與分片相關(guān)的概念 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)建訪問數(shù)據(jù)的OrderDao接口 299
13.6.6創(chuàng)建OrderService類 300
13.6.7創(chuàng)建OrderController類 300
13.6.8運行演示SQL路由的范例 301
13.6.9把訂單表拆分到兩個數(shù)據(jù)庫中 301
13.6.10配置綁定表 303
13.6.11配置廣播表 304
13.6.12主從數(shù)據(jù)庫和讀寫分離 305
13.7Sharding-Proxy簡介 307
13.7.1安裝和配置Sharding-Proxy 308
13.7.2在微服務(wù)中訪問Sharding-Proxy 311
13.7.3配置讀寫分離 312
13.7.4配置數(shù)據(jù)加密 314
13.7.5配置影子數(shù)據(jù)源 316
13.8 小結(jié) 318
第14 章 分布式緩存數(shù)據(jù)庫:Redis     319
14.1Redis簡介 319
14.2安裝和啟動Redis  320
14.3在微服務(wù)中訪問Redis  321
14.4Redis數(shù)據(jù)類型  322
14.4.1讀寫list類型數(shù)據(jù) 323
14.4.2讀寫set類型數(shù)據(jù) 324
14.4.3讀寫zset類型數(shù)據(jù) 326
14.4.4讀寫hash類型數(shù)據(jù) 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在微服務(wù)中訪問Redis集群  334
14.7 小結(jié) 334
第15 章 分布式任務(wù)調(diào)度框架:XXL-JOB    336
15.1安裝和運行XXL-JOB 337
15.1.1創(chuàng)建XXL-JOB的數(shù)據(jù)庫 337
15.1.2配置XXL-JOB調(diào)度中心 338
15.1.3運行和訪問XXL-JOB調(diào)度  中心 339
15.1.4配置XXL-JOB執(zhí)行器 340
15.1.5運行XXL-JOB執(zhí)行器 342
15.2創(chuàng)建和執(zhí)行GLUE模式的任務(wù) 342
15.3創(chuàng)建和執(zhí)行BEAN模式的任務(wù) 346
15.3.1任務(wù)的初始化和銷毀 347
15.3.2帶參數(shù)的任務(wù) 348
15.4執(zhí)行器集群和分片執(zhí)行任務(wù) 352
15.5搭建調(diào)度中心的集群 354
15.6 小結(jié) 356

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號