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

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

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

定 價(jià):¥89.80

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

購(gòu)買這本書(shū)可以去


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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

第1 章 微服務(wù)簡(jiǎn)介      1
1.1微服務(wù)的概念與特征 1
1.1.1微服務(wù)按照業(yè)務(wù)進(jìn)行劃分 1
1.1.2微服務(wù)運(yùn)行在獨(dú)立的進(jìn)程中 2
1.1.3微服務(wù)采用簡(jiǎn)單協(xié)議通信 2
1.1.4微服務(wù)采用統(tǒng)一的管理框架 3
1.2Spring Cloud框架概述 4
1.3Spring Cloud Alibaba框架概述 5
1.4各種軟件的版本匹配 6
1.5搭建微服務(wù)的開(kāi)發(fā)和運(yùn)行環(huán)境 7
1.5.1安裝Intellij IDEA 7
1.5.2為IDEA配置Maven 7
1.5.3安裝和啟動(dòng)Nacos服務(wù)器 8
1.5.4訪問(wèn)Nacos服務(wù)器的管理平臺(tái) 9
1.5.5查看Nacos服務(wù)器的日志 10
1.6云原生的概念 10
1.7 小結(jié) 11
第2 章 范例:helloapp項(xiàng)目    12
2.1提供者和消費(fèi)者的通信及實(shí)現(xiàn)原理 12
2.2在IDEA中創(chuàng)建helloapp項(xiàng)目 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啟動(dòng)hello-provider模塊 20
2.4創(chuàng)建hello-consumer模塊 21
2.4.1在IDEA中創(chuàng)建hello-consumer 模塊 21
2.4.2在啟動(dòng)類中加入@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啟動(dòng)和訪問(wèn)hello-consumer 模塊 25
2.4.7HelloFeignService接口的默認(rèn)方法 26
2.5啟動(dòng)微服務(wù)的多個(gè)實(shí)例 26
2.6LoadBalancer負(fù)載均衡器 29
2.7通過(guò)RestTemplate類訪問(wèn)微服務(wù) 30
2.7.1使用LoadBalancerClient接口整合 31
2.7.2使用@LoadBalanced注解整合 32
2 .8 小結(jié) 33
第3 章 微服務(wù)的注冊(cè)與發(fā)現(xiàn)      34
3.1Nacos Discovery組件的配置屬性 35
3.1.1禁止注冊(cè)微服務(wù) 36
3.1.2Nacos Discovery組件的客戶端緩存 37
3.1.3微服務(wù)的分組和命名空間 37
3.2微服務(wù)的健康檢測(cè) 38
3.2.1微服務(wù)的臨時(shí)實(shí)例 39
3.2.2微服務(wù)的永久實(shí)例 39
3.3訪問(wèn)DiscoveryClient接口 40
3.4通過(guò)Actuator監(jiān)控Nacos Discovery組件的端點(diǎn) 42
3.5Nacos Discovery組件對(duì)微服務(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通過(guò)Environment對(duì)象讀取配置屬性 49
4.2.4通過(guò)@Value注解讀取配置屬性 50
4.2.5通過(guò)@ConfigurationProperties 注解讀取配置屬性 51
4.3配置單元的Data ID、分組和命名空間 52
4.4配置屬性的動(dòng)態(tài)更新 54
4.5不同環(huán)境下配置屬性的切換 54
4.6擴(kuò)展的配置單元 56
4.7監(jiān)控Nacos Config組件的端點(diǎn) 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é)點(diǎn)之間數(shù)據(jù)的同步 66
5.1.2節(jié)點(diǎn)的選舉機(jī)制 66
5.2搭建Nacos集群 67
5.2.1配置Nacos節(jié)點(diǎn) 68
5.2.2啟動(dòng)Nacos節(jié)點(diǎn) 69
5.2.3避免Nacos節(jié)點(diǎn)之間的端口沖突 69
5.2.4Nacos集群的選舉 69
5.2.5通過(guò)微服務(wù)訪問(wèn)Nacos集群 71
5.2.6Nacos集群的同步 71
5.3Nacos集群的AP和CP運(yùn)行模式 72
5.4使用Nginx反向代理服務(wù)器  73
5.5通過(guò)Keepalived建立Nginx集群 76
5.6 小結(jié) 80
第6 章 遠(yuǎn)程調(diào)用組件:OpenFeign 81
6.1優(yōu)化設(shè)定所訪問(wèn)的微服務(wù)的名字 81
6.2優(yōu)化設(shè)定映射URL的根路徑 82
6.3輸出詳細(xì)日志 83
6.4請(qǐng)求數(shù)據(jù)和響應(yīng)數(shù)據(jù)的壓縮 84
6.5超時(shí)配置 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傳遞對(duì)象參數(shù) 91
6.7.1傳遞簡(jiǎn)單對(duì)象 92
6.7.2傳遞復(fù)雜對(duì)象 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消費(fèi)者遠(yuǎn)程訪問(wèn)提供者 101
7.3超時(shí)時(shí)間和重試次數(shù)設(shè)置 102
7.4異常處理 104
7.5傳遞復(fù)雜對(duì)象類型數(shù)據(jù) 104
7.6負(fù)載均衡 106
7.7Dubbo與Sentinel的整合 108
7.8提供者回調(diào)消費(fèi)者 111
7.9消費(fèi)者異步調(diào)用提供者的服務(wù)方法 115
7.10 小結(jié) 117
第8 章 流量控制組件:Sentinel      118
8.1微服務(wù)容錯(cuò)的基本原理 118
8.2微服務(wù)與Sentinel的整合 121
8.2.1hello-consumer模塊與Sentinel的整合 121
8.2.2安裝Sentinel控制臺(tái) 122
8.2.3在Sentinel控制臺(tái)中查看微服務(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熱點(diǎn)規(guī)則 133
8.7.2請(qǐng)求被拒絕的處理方式 135
8.7.3對(duì)異常的處理 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簡(jiǎn)介 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 過(guò) 濾器 162
9.5.1局部?jī)?nèi)置過(guò)濾器 163
9.5.2默認(rèn)過(guò)濾器 167
9.5.3全局內(nèi)置過(guò)濾器 167
9.5.4自定義局部過(guò)濾器 168
9.5.5自定義全局過(guò)濾器 170
9.5.6SLF4J日志工具 171
9.6GateWay與Sentinel的整合 172
9.6.1對(duì)路由限流 174
9.6.2對(duì)自定義的API入口限流 175
9.6.3同時(shí)對(duì)路由和API入口限流 178
9.7跨域配置 180
9.8超時(shí)配置 181
9.9通過(guò)Actuator監(jiān)控網(wǎng)關(guān) 182
9.10網(wǎng)關(guān)集群 183
9.11 小結(jié) 185
第10 章 消息驅(qū)動(dòng)框架:Stream     186
10.1消息中間件簡(jiǎn)介 187
10.1.1消息中間件的運(yùn)用場(chǎng)景 187
10.1.2消息中間件的缺點(diǎn) 189
10.1.3消息中間件產(chǎn)品 189
10.2RocketMQ簡(jiǎn)介 190
10.2.1RocketMQ涉及的基本概念 191
10.2.2RocketMQ的消息收發(fā)模型 191
10.2.3安裝和啟動(dòng)RocketMQ 192
10.2.4安裝和啟動(dòng)RocketMQ控制臺(tái) 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的同步雙寫(xiě)模式 199
10.4Spring Cloud Stream簡(jiǎn)介 200
10.5在微服務(wù)中收發(fā)消息 200
10.5.1創(chuàng)建消息生產(chǎn)者 201
10.5.2創(chuàng)建消息消費(fèi)者 202
10.5.3運(yùn)行消息生產(chǎn)者和消息消費(fèi)者 203
10.5.4收發(fā)Message類型的消息 203
10.6通過(guò)StreamBridge類發(fā)送消息 205
10.6.1StreamBridge類的用法 205
10.6.2用ChannelInterceptor攔截消息 207
10.7發(fā)送HTTP請(qǐng)求正文 208
10.8通過(guò)Function函數(shù)式接口收發(fā)消息 209
10.9響應(yīng)式收發(fā)消息 210
10.10多輸入通道和輸出通道 211
10.11批量消費(fèi)消息 213
10.12批量生產(chǎn)消息 213
10.13處理錯(cuò)誤 214
10.13.1清除失敗消息 214
10.13.2把失敗消息發(fā)送到DLQ 214
10.13.3嘗試重新消費(fèi)失敗消息... 215 10.14 消費(fèi)者分組和分區(qū) 217
10.15消息正文的類型轉(zhuǎn)換 219
10.16通過(guò)Actuator監(jiān)控Stream 221
10.17 小結(jié) 222
第11 章 鏈路追蹤組件:SkyWalking       223
11.1SkyWalking簡(jiǎn)介 223
11.2鏈路追蹤軟件 224
11.3安裝和運(yùn)行SkyWalking 225
11.4在微服務(wù)中安置探針 227
11.4.1查看拓?fù)鋱D 229
11.4.2追蹤鏈路 229
11.4.3查看監(jiān)控?cái)?shù)據(jù) 230
11.4.4性能分析 230
11.5采集日志 232
11.6自定義鏈路追蹤 235
11.7忽略端點(diǎn) 237
11.8 告警 238
11.8.1編寫(xiě)滿足告警規(guī)則的方法 240
11.8.2創(chuàng)建處理告警的webhook 241
11.8.3測(cè)試告警 243
11.9整合Elasticsearch數(shù)據(jù)庫(kù) 245
11.10整合MySQL數(shù)據(jù)庫(kù) 247
11.11通過(guò)Nacos建立SkyWalking集群 247
11.12 小結(jié) 250
第12 章 分布式事務(wù)管理框架:Seata          251
12.1分布式事務(wù)概述 251
12.2Seata簡(jiǎn)介 253
12.3Seata的事務(wù)模式 254
12.3.1AT 模式 255
12.3.2TCC 模式 261
12.3.3Saga 模式 262
12.3.4XA 模式 262
12.4安裝和運(yùn)行Seata Server 263
12.5創(chuàng)建AT模式下的范例 265
12.5.1創(chuàng)建Seata Server的MySQL 存儲(chǔ)源 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ù)庫(kù)和表 279
12.6.2在Nacos配置中心配置Seata Server 279
12.6.3在Seata Server的配置文件中配置Nacos 280
12.6.4在微服務(wù)中配置Seata 282
12.6.5運(yùn)行和訪問(wèn)Seata Server集群 282
12.7事務(wù)組與Seata Server集群的映射 283
12.8 小結(jié) 284
第13 章 分庫(kù)分表中間件:ShardingSphere    285
13.1分庫(kù)分表概述 286
13.2ShardingSphere簡(jiǎn)介 288
13.2.1Sharding-JDBC簡(jiǎn)介 289
13.2.2Sharding-Proxy簡(jiǎn)介 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運(yùn)用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實(shí)體類  299
13.6.5創(chuàng)建訪問(wèn)數(shù)據(jù)的OrderDao接口 299
13.6.6創(chuàng)建OrderService類 300
13.6.7創(chuàng)建OrderController類 300
13.6.8運(yùn)行演示SQL路由的范例 301
13.6.9把訂單表拆分到兩個(gè)數(shù)據(jù)庫(kù)中 301
13.6.10配置綁定表 303
13.6.11配置廣播表 304
13.6.12主從數(shù)據(jù)庫(kù)和讀寫(xiě)分離 305
13.7Sharding-Proxy簡(jiǎn)介 307
13.7.1安裝和配置Sharding-Proxy 308
13.7.2在微服務(wù)中訪問(wèn)Sharding-Proxy 311
13.7.3配置讀寫(xiě)分離 312
13.7.4配置數(shù)據(jù)加密 314
13.7.5配置影子數(shù)據(jù)源 316
13.8 小結(jié) 318
第14 章 分布式緩存數(shù)據(jù)庫(kù):Redis     319
14.1Redis簡(jiǎn)介 319
14.2安裝和啟動(dòng)Redis  320
14.3在微服務(wù)中訪問(wèn)Redis  321
14.4Redis數(shù)據(jù)類型  322
14.4.1讀寫(xiě)list類型數(shù)據(jù) 323
14.4.2讀寫(xiě)set類型數(shù)據(jù) 324
14.4.3讀寫(xiě)zset類型數(shù)據(jù) 326
14.4.4讀寫(xiě)hash類型數(shù)據(jù) 327
14.4.5序列化Java對(duì)象 328
14.5Redis集群 329
14.5.1主從模式 329
14.5.2哨兵模式 330
14.5.3集群模式 331
14.5.4搭建Redis集群 332
14.6在微服務(wù)中訪問(wèn)Redis集群  334
14.7 小結(jié) 334
第15 章 分布式任務(wù)調(diào)度框架:XXL-JOB    336
15.1安裝和運(yùn)行XXL-JOB 337
15.1.1創(chuàng)建XXL-JOB的數(shù)據(jù)庫(kù) 337
15.1.2配置XXL-JOB調(diào)度中心 338
15.1.3運(yùn)行和訪問(wèn)XXL-JOB調(diào)度  中心 339
15.1.4配置XXL-JOB執(zhí)行器 340
15.1.5運(yùn)行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 ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)