關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
分布式系統(tǒng)開(kāi)發(fā)實(shí)戰(zhàn)
本書(shū)從原理和實(shí)踐角度全面介紹如何設(shè)計(jì)分布式系統(tǒng)。內(nèi)容包括節(jié)點(diǎn)、通信、并發(fā)與并行、面向?qū)ο蟮姆植际郊軜?gòu)、面向服務(wù)的分布式架構(gòu)、面向消息的分布式架構(gòu)、 EST 風(fēng)格的架構(gòu)、微服務(wù)架構(gòu)、 Serverless 架構(gòu)、 Cloud Native 架構(gòu)、虛擬化與容器技術(shù)、分布式計(jì)算、分布式存儲(chǔ)、分布式監(jiān)控、分布式版本控制、數(shù)據(jù)一致性、分布式事務(wù)、安全性、可用性等,內(nèi)容豐富、案例新穎,相關(guān)理論與技術(shù)實(shí)踐較為前瞻。本書(shū)最后還提供了一個(gè)綜合實(shí)戰(zhàn)案例,手把手教讀者如何來(lái)基于Spring Cloud 技術(shù)來(lái)實(shí)現(xiàn)微服務(wù)架構(gòu)。
(1)新。符合當(dāng)今云架構(gòu)發(fā)展現(xiàn)狀的開(kāi)發(fā)技術(shù),無(wú)論是大型企業(yè)還是個(gè)人開(kāi)發(fā)者,都或多或少地采用了分布式的方式來(lái)開(kāi)發(fā)和部署應(yīng)用。
(2)全。涵蓋REST設(shè)計(jì)、測(cè)試、服務(wù)注冊(cè)、服務(wù)發(fā)現(xiàn)、安全、數(shù)據(jù)管理、消息通信、批處理、任務(wù)調(diào)度、運(yùn)營(yíng)、容器部署、持續(xù)發(fā)布等方面的知識(shí)。
(3)細(xì)。實(shí)戰(zhàn)案例輔以大量理論知識(shí),讓讀者透徹理解每一個(gè)知識(shí)點(diǎn)。
在多家知名 IT 公司擔(dān)任項(xiàng)目經(jīng)理、架構(gòu)師、高級(jí)開(kāi)發(fā)顧問(wèn)等職位,具有多年軟件開(kāi)發(fā)管理及系統(tǒng)架構(gòu)經(jīng)驗(yàn)。負(fù)責(zé)過(guò)多個(gè)省、國(guó)家級(jí)大型分布式系統(tǒng)的設(shè)計(jì)與研發(fā),參與了多個(gè)大型項(xiàng)目的微服務(wù)架構(gòu)的技術(shù)改造,在實(shí)際工作中,積累了大量的分布式系統(tǒng)及微服務(wù)架構(gòu)經(jīng)驗(yàn)。業(yè)余時(shí)間創(chuàng)建了 waylau.com 網(wǎng)站,用于分享個(gè)人技術(shù)心得。喜歡開(kāi)源,長(zhǎng)期躍于各大開(kāi)源社區(qū),是 CSDN、 開(kāi)源中國(guó)、云棲社區(qū)等技術(shù)社區(qū)專(zhuān)家。為開(kāi)源社區(qū)無(wú)私編著了《Spring Framework 4.x參考文檔》、《Netty 實(shí)戰(zhàn)(精髓)》、《REST 實(shí)戰(zhàn)》、《分布式 Java》、《Spring Boot 教程》、《Spring Security 教程》、《Thymeleaf 教程》等近30余篇技術(shù)教程,廣受網(wǎng)友好評(píng)。其中出版了《分布式系統(tǒng)常用技術(shù)及案例分析》、《Spring Boot 企業(yè)級(jí)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)》、《Spring Cloud 微服務(wù)架構(gòu)開(kāi)發(fā)實(shí)戰(zhàn)》等專(zhuān)著。
第 1章 分布式系統(tǒng)概述 1
1.1 什么是分布式系統(tǒng) 1
1.2 分布式系統(tǒng)常用術(shù)語(yǔ) 2
1.3 集中式系統(tǒng)與分布式系統(tǒng) 3
1.4 分布式系統(tǒng)特征 4
1.5 設(shè)計(jì)分布式系統(tǒng)所面臨的挑戰(zhàn) 5
1.6 本章小結(jié) 6
1.7 習(xí)題 6
第 2章 節(jié)點(diǎn) 7
2.1 什么是線(xiàn)程 7
2.2 進(jìn)程和線(xiàn)程 8
2.3 線(xiàn)程和纖程 8
2.4 編程語(yǔ)言中的線(xiàn)程對(duì)象 9
2.4.1 定義和啟動(dòng)一個(gè)線(xiàn)程 9
2.4.2 暫停線(xiàn)程執(zhí)行 9
2.4.3 中斷線(xiàn)程 10
2.4.4 等待另一個(gè)線(xiàn)程完成 11
2.5 節(jié)點(diǎn)之間的通信 11
2.5.1 消息丟失 11
2.5.2 消息亂序 12
2.5.3 數(shù)據(jù)錯(cuò)誤 12
2.5.4 不可靠的TCP 12
2.6 本章小結(jié) 12
2.7 習(xí)題 13
第3章 通信 14
3.1 本地過(guò)程調(diào)用 14
3.1.1 本地過(guò)程調(diào)用的概念 14
3.1.2 本地過(guò)程調(diào)用的實(shí)現(xiàn) 14
3.2 遠(yuǎn)程過(guò)程調(diào)用 16
3.2.1 遠(yuǎn)程過(guò)程調(diào)用原理 16
3.2.2 如何實(shí)現(xiàn)遠(yuǎn)程過(guò)程調(diào)用 18
3.2.3 遠(yuǎn)程過(guò)程調(diào)用API 20
3.2.4 遠(yuǎn)程過(guò)程調(diào)用發(fā)展歷程 20
3.3 常用網(wǎng)絡(luò)I/O模型 21
3.3.1 阻塞I/O模型 21
3.3.2 非阻塞I/O模型 22
3.3.3 I/O復(fù)用模型 22
3.3.4 信號(hào)驅(qū)動(dòng)I/O模型 23
3.3.5 異步I/O模型 23
3.3.6 幾種I/O模型的比較 24
3.4 I/O操作中的常用術(shù)語(yǔ) 25
3.4.1 阻塞和非阻塞 25
3.4.2 同步與異步 25
3.4.3 總結(jié) 25
3.5 實(shí)戰(zhàn):在Java中實(shí)現(xiàn)常用網(wǎng)絡(luò)I/O模型 26
3.5.1 Java OIO 26
3.5.2 Java NIO 29
3.5.3 Java AIO 33
3.6 事件驅(qū)動(dòng) 37
3.6.1 事件驅(qū)動(dòng)編程 37
3.6.2 事件循環(huán)的實(shí)現(xiàn) 38
3.6.3 Reactor模型 38
3.6.4 Proactor模型 40
3.7 本章小結(jié) 41
3.8 習(xí)題 41
第4章 并發(fā)與并行 42
4.1 并發(fā)與并行的區(qū)別 42
4.2 線(xiàn)程與并發(fā) 43
4.3 并發(fā)帶來(lái)的風(fēng)險(xiǎn) 43
4.3.1 死鎖 44
4.3.2 饑餓 45
4.3.3 活鎖 45
4.4 解決并發(fā)風(fēng)險(xiǎn) 45
4.4.1 同步 45
4.4.2 原子訪(fǎng)問(wèn) 49
4.5 提升系統(tǒng)并發(fā)能力 49
4.5.1 無(wú)鎖化設(shè)計(jì)提升并發(fā)能力 49
4.5.2 緩存提升并發(fā)能力 49
4.5.3 更細(xì)顆粒度的并發(fā)單元 50
4.6 本章小結(jié) 50
4.7 習(xí)題 50
第5章 面向?qū)ο蟮姆植际郊軜?gòu) 51
5.1 基于對(duì)象的分布式架構(gòu) 51
5.2 常用的分布式對(duì)象系統(tǒng) 52
5.2.1 微軟DCOM 52
5.2.2 CORBA 53
5.2.3 Java RMI 54
5.3 分布式對(duì)象系統(tǒng)優(yōu)缺點(diǎn) 57
5.4 實(shí)戰(zhàn):基于Java RMI實(shí)現(xiàn)分布式對(duì)象通信 57
5.4.1 示例概述 57
5.4.2 編寫(xiě)RMI服務(wù)器 58
5.4.3 編寫(xiě)RMI客戶(hù)端 60
5.4.4 運(yùn)行 61
5.5 本章小結(jié) 61
5.6 習(xí)題 62
第6章 面向服務(wù)的分布式架構(gòu) 63
6.1 什么是面向服務(wù)的架構(gòu) 63
6.2 SOA的基本概念 64
6.3 基于Web服務(wù)的SOA 65
6.3.1 XML-RPC 66
6.3.2 SOAP 66
6.3.3 Microsoft .NET Remoting 69
6.3.4 Java中的XML Web服務(wù) 75
6.3.5 超越SOAP 75
6.3.6 SOA的演變 76
6.4 Web服務(wù)的分類(lèi) 76
6.4.1 “大”Web服務(wù) 76
6.4.2 RESTful Web服務(wù) 77
6.4.3 Web服務(wù)技術(shù)選型 77
6.5 實(shí)戰(zhàn):基于JAX-WS實(shí)現(xiàn)Web服務(wù) 78
6.5.1 JAX-WS概述 78
6.5.2 創(chuàng)建Web服務(wù)器和客戶(hù)端的基本步驟 78
6.5.3 JAX-WS終端要求 79
6.5.4 創(chuàng)建基于JAX-WS的服務(wù)器 79
6.5.5 創(chuàng)建基于JAX-WS的客戶(hù)端 80
6.5.6 運(yùn)行 80
6.6 本章小結(jié) 82
6.7 習(xí)題 82
第7章 面向消息的分布式架構(gòu) 83
7.1 什么是面向消息的分布式架構(gòu) 83
7.1.1 常用術(shù)語(yǔ) 83
7.1.2 使用場(chǎng)景 83
7.1.3 常用技術(shù) 84
7.2 常見(jiàn)消息中間件產(chǎn)品介紹 84
7.2.1 Apache ActiveMQ 84
7.2.2 RabbitMQ 85
7.2.3 Apache RocketMQ 86
7.3 消息通信常用模式 88
7.3.1 工作隊(duì)列 88
7.3.2 發(fā)布/訂閱 89
7.3.3 路由 90
7.3.4 主題 91
7.3.5 RPC 92
7.4 了解JMS規(guī)范 94
7.4.1 JMS消息風(fēng)格 94
7.4.2 JMS接口 95
7.5 實(shí)戰(zhàn):基于JMS的消息發(fā)送和接收 96
7.5.1 項(xiàng)目概述 96
7.5.2 項(xiàng)目配置 97
7.5.3 編碼實(shí)現(xiàn) 99
7.5.4 運(yùn)行 104
7.6 本章小結(jié) 107
7.7 習(xí)題 108
第8章 REST風(fēng)格的架構(gòu) 109
8.1 什么是REST 109
8.2 REST設(shè)計(jì)原則 110
8.3 成熟度模型 111
8.3.1 第0級(jí):使用HTTP作為傳輸方式 111
8.3.2 第 1級(jí):引入了資源的概念 113
8.3.3 第 2級(jí):根據(jù)語(yǔ)義使用HTTP動(dòng)詞 113
8.3.4 第3級(jí):使用HATEOAS 114
8.4 REST API管理 116
8.5 常用技術(shù) 118
8.5.1 JAX-RS規(guī)范 118
8.5.2 Jersey 123
8.5.3 Apache CXF 123
8.5.4 Spring Web MVC 124
8.6 實(shí)戰(zhàn):基于Java實(shí)現(xiàn)REST API 124
8.6.1 基于Jersey來(lái)構(gòu)建REST服務(wù) 124
8.6.2 基于Apache CXF來(lái)構(gòu)建REST服務(wù) 131
8.6.3 基于Spring Web MVC來(lái)構(gòu)建REST服務(wù) 140
8.7 本章小結(jié) 145
8.8 習(xí)題 145
第9章 微服務(wù)架構(gòu) 146
9.1 什么是微服務(wù)架構(gòu) 146
9.2 微服務(wù)架構(gòu)與SOA架構(gòu)的區(qū)別 147
9.2.1 單體架構(gòu)的例子 147
9.2.2 微服務(wù)架構(gòu)的例子 148
9.3 何時(shí)采用微服務(wù)架構(gòu) 150
9.4 常用技術(shù) 150
9.4.1 Jetty HTTP Server 151
9.4.2 構(gòu)建REST程序 151
9.4.3 運(yùn)行 153
9.5 實(shí)戰(zhàn):基于Spring Boot實(shí)現(xiàn)微服務(wù) 153
9.5.1 配置環(huán)境 153
9.5.2 REST API設(shè)計(jì) 154
9.5.3 編寫(xiě)程序代碼 155
9.5.4 安裝REST客戶(hù)端 159
9.5.5 運(yùn)行、測(cè)試程序 160
9.6 微服務(wù)與通信 160
9.6.1 HTTP通信 161
9.6.2 消息通信 161
9.6.3 事件驅(qū)動(dòng)的通信 161
9.7 了解CQRS 162
9.7.1 CQRS概述 162
9.7.2 CQRS與Event Sourcing的關(guān)系 163
9.7.3 CQRS好處 164
9.8 實(shí)戰(zhàn):基于CQRS微服務(wù)通信 164
9.8.1 配置 165
9.8.2 Aggregate 165
9.8.3 Command 168
9.8.4 Event 169
9.8.5 測(cè)試 170
9.9 本章小結(jié) 171
9.10 習(xí)題 171
第 10章 Serverless架構(gòu) 172
10.1 什么是Serverless架構(gòu) 172
10.2 Serverless架構(gòu)的典型應(yīng)用 173
10.2.1 UI驅(qū)動(dòng)的應(yīng)用 173
10.2.2 消息驅(qū)動(dòng)的應(yīng)用 174
10.3 常見(jiàn)的Serverless架構(gòu) 175
10.3.1 AWS Lambda 175
10.3.2 Google Cloud Functions 175
10.3.3 Iron.io 175
10.3.4 IBM OpenWhisk 175
10.3.5 Serverless Framework 176
10.3.6 Azure WebJobs 176
10.4 Serverless架構(gòu)原則 176
10.4.1 根據(jù)需要使用計(jì)算服務(wù)執(zhí)行代碼 177
10.4.2 編寫(xiě)單一用途的無(wú)狀態(tài)函數(shù) 177
10.4.3 設(shè)計(jì)基于推送的、事件驅(qū)動(dòng)的管道 177
10.4.4 創(chuàng)建更粗實(shí)、更強(qiáng)大的前端 177
10.4.5 擁抱第三方服務(wù) 178
10.5 實(shí)戰(zhàn):使用AWS平臺(tái)實(shí)現(xiàn)Serverless架構(gòu) 178
10.6 本章小結(jié) 182
10.7 習(xí)題 182
第 11章 Cloud Native架構(gòu) 183
11.1 Cloud Native概述 183
11.1.1 軟件需求的發(fā)展 183
11.1.2 開(kāi)發(fā)方式的巨變 184
11.1.3 云是大勢(shì)所趨 185
11.2 Cloud Native特性 185
11.2.1 以云為基礎(chǔ)架構(gòu) 186
11.2.2 云服務(wù) 186
11.2.3 無(wú)服務(wù) 186
11.2.4 可擴(kuò)展 187
11.2.5 高可用 189
11.2.6 敏捷 190
11.2.7 云優(yōu)先 190
11.3 12-Factor 191
11.3.1 基準(zhǔn)代碼 192
11.3.2 依賴(lài) 192
11.3.3 配置 193
11.3.4 后端服務(wù) 193
11.3.5 構(gòu)建、發(fā)布、運(yùn)行 193
11.3.6 進(jìn)程 194
11.3.7 端口綁定 194
11.3.8 并發(fā) 195
11.3.9 易處理 196
11.3.10 開(kāi)發(fā)環(huán)境與線(xiàn)上環(huán)境等價(jià) 196
11.3.11 日志 196
11.3.12 管理進(jìn)程 197
11.4 Cloud Native成功案例分析 197
11.4.1 Amazon 197
11.4.2 Netflix 198
11.4.3 淘寶網(wǎng) 199
11.5 Cloud Native與微服務(wù)架構(gòu)的關(guān)系 201
11.6 Cloud Native與Serverless架構(gòu)的關(guān)系 201
11.7 Cloud Native的優(yōu)點(diǎn)及面臨的挑戰(zhàn) 201
11.7.1 Cloud Native優(yōu)點(diǎn) 201
11.7.2 Cloud Native不是“銀彈” 202
11.7.3 面臨的挑戰(zhàn) 203
11.8 本章小結(jié) 203
11.9 習(xí)題 203
第 12章 虛擬化與容器技術(shù) 204
12.1 虛擬化技術(shù) 204
12.2 容器與虛擬機(jī) 204
12.2.1 成熟度方面的比較 205
12.2.2 啟動(dòng)速度的比較 205
12.2.3 安全方面的比較 205
12.2.4 性能方面的比較 206
12.3 基于容器的持續(xù)部署 206
12.3.1 持續(xù)部署管道 207
12.3.2 測(cè)試 207
12.3.3 構(gòu)建 208
12.3.4 部署 209
12.3.5 藍(lán)-綠部署 209
12.3.6 運(yùn)行預(yù)集成以及集成后測(cè)試 210
12.3.7 回滾與清理 211
12.3.8 決定每個(gè)步驟的執(zhí)行環(huán)境 212
12.3.9 完成整個(gè)持續(xù)部署流 212
12.4 容器技術(shù)與微服務(wù)架構(gòu) 212
12.4.1 基于Google Kubernetes架構(gòu) 213
12.4.2 基于DaoCloud DCE架構(gòu) 213
12.5 容器技術(shù)與Cloud Native架構(gòu) 213
12.6 實(shí)戰(zhàn):基于Docker發(fā)布微服務(wù) 214
12.6.1 創(chuàng)建微服務(wù) 214
12.6.2 微服務(wù)容器化 214
12.6.3 使用Gradle來(lái)構(gòu)建Docker image 215
12.6.4 運(yùn)行image 216
12.6.5 訪(fǎng)問(wèn)應(yīng)用 217
12.6.6 關(guān)閉容器 217
12.6.7 Docker發(fā)布微服務(wù) 217
12.7 本章小結(jié) 217
12.8 習(xí)題 217
第 13章 分布式計(jì)算 218
13.1 分布式計(jì)算概述 218
13.2 分布式計(jì)算應(yīng)用場(chǎng)景 218
13.3 分布式計(jì)算常用技術(shù) 219
13.3.1 MapReduce 219
13.3.2 Apache Hadoop 221
13.3.3 Apache Spark 222
13.4 實(shí)戰(zhàn):基于Spark詞頻統(tǒng)計(jì) 223
13.4.1 項(xiàng)目概述 224
13.4.2 項(xiàng)目配置 224
13.4.3 編碼實(shí)現(xiàn) 224
13.4.4 運(yùn)行 225
13.5 本章小結(jié) 227
13.6 習(xí)題 227
第 14章 分布式存儲(chǔ) 228
14.1 分布式存儲(chǔ)概述 228
14.2 分布式存儲(chǔ)應(yīng)用場(chǎng)景 228
14.3 分布式存儲(chǔ)常用技術(shù) 229
14.3.1 Bigtable 229
14.3.2 Apache HBase 231
14.3.3 Apache Cassandra 233
14.3.4 Memcached 235
14.3.5 Redis 237
14.3.6 MongoDB 237
14.4 實(shí)戰(zhàn):基于MongoDB文件服務(wù)器 239
14.4.1 文件服務(wù)器的需求 239
14.4.2 所需技術(shù) 239
14.4.3 文件服務(wù)器的實(shí)現(xiàn) 241
14.4.4 運(yùn)行 247
14.4.5 其他配置項(xiàng) 247
14.5 本章小結(jié) 248
14.6 習(xí)題 248
第 15章 分布式監(jiān)控 249
15.1 分布式監(jiān)控概述 249
15.2 分布式監(jiān)控應(yīng)用場(chǎng)景 249
15.3 分布式監(jiān)控常用技術(shù) 249
15.3.1 Nagios 250
15.3.2 Zabbix 250
15.3.3 Consul 253
15.3.4 ZooKeeper 255
15.4 實(shí)戰(zhàn):基于ZooKeeper的服務(wù)注冊(cè)和發(fā)現(xiàn) 258
15.4.1 項(xiàng)目概述 258
15.4.2 項(xiàng)目配置 258
15.4.3 編碼實(shí)現(xiàn) 259
15.4.4 運(yùn)行 262
15.5 本章小結(jié) 264
15.6 習(xí)題 264
第 16章 分布式版本控制 265
16.1 版本控制系統(tǒng)簡(jiǎn)史 265
16.2 集中式與分布式版本控制系統(tǒng) 265
16.3 常用技術(shù) 266
16.3.1 Bazaar 266
16.3.2 Mercurial 266
16.3.3 Git 267
16.4 了解Git Flow 269
16.4.1 分支定義 269
16.4.2 新功能開(kāi)發(fā)工作流 269
16.4.3 Bug修復(fù)工作流 270
16.4.4 版本發(fā)布工作流 270
16.5 本章小結(jié) 271
16.6 習(xí)題 271
第 17章 數(shù)據(jù)一致性 272
17.1 什么是CAP理論 272
17.2 為什么CAP只能三選二 273
17.3 CAP常見(jiàn)模型 274
17.3.1 犧牲分區(qū)容錯(cuò)性(CA模型) 274
17.3.2 犧牲可用性(CP模型) 274
17.3.3 犧牲一致性(AP模型) 274
17.4 CAP的意義及發(fā)展 275
17.4.1 CAP最新發(fā)展 275
17.4.2 BASE 275
17.5 以數(shù)據(jù)為中心的一致性模型 276
17.5.1 嚴(yán)格一致性 276
17.5.2 持續(xù)一致性 276
17.5.3 順序一致性 276
17.5.4 因果一致性 276
17.5.5 入口一致性 276
17.6 以客戶(hù)為中心的一致性模型 277
17.6.1 單調(diào)讀一致性 277
17.6.2 單調(diào)寫(xiě)一致性 277
17.6.3 讀寫(xiě)一致性 277
17.6.4 寫(xiě)讀一致性 277
17.7 本章小結(jié) 278
17.8 習(xí)題 278
第 18章 分布式事務(wù) 279
18.1 本地事務(wù) 279
18.1.1 一個(gè)銀行轉(zhuǎn)賬的例子 279
18.1.2 事務(wù)隔離級(jí)別 280
18.2 分布式事務(wù)面臨的挑戰(zhàn) 282
18.3 節(jié)點(diǎn)復(fù)制 283
18.3.1 Master-Slave復(fù)制 283
18.3.2 Master-Master多主復(fù)制 283
18.4 兩階段提交 283
18.4.1 準(zhǔn)備階段 284
18.4.2 提交階段 284
18.4.3 兩階段提交狀態(tài)機(jī) 284
18.4.4 兩階段提交的缺陷 285
18.5 三階段提交 285
18.5.1 CanCommit 285
18.5.2 PreCommit 286
18.5.3 DoCommit 286
18.5.4 三階段提交狀態(tài)機(jī) 286
18.5.5 三階段提交的缺陷 287
18.6 Paxos算法 287
18.6.1 問(wèn)題描述 287
18.6.2 提案的選定 288
18.6.3 獲取被選定的提案值 289
18.6.4 進(jìn)展性 290
18.6.5 實(shí)現(xiàn) 290
18.6.6 總結(jié) 291
18.6.7 缺陷 292
18.7 Raft算法 292
18.7.1 Raft概述 293
18.7.2 復(fù)制狀態(tài)機(jī) 293
18.7.3 Raft算法基礎(chǔ) 294
18.7.4 Raft算法Leader選舉 296
18.7.5 Raft算法日志同步 297
18.7.6 Raft算法安全性 299
18.7.7 處理Follower和Candidate異!302
18.7.8 時(shí)間要求及可用性 302
18.7.9 集群成員關(guān)系變更 303
18.7.10 日志壓縮 305
18.7.11 客戶(hù)端交互 306
18.7.12 總結(jié) 307
18.8 消息 307
18.8.1 本地消息表 308
18.8.2 事務(wù)消息 308
18.8.3 如何保障冪等性 309
18.8.4 總結(jié) 310
18.9 本章小結(jié) 310
18.10 習(xí)題 310
第 19章 安全性 311
19.1 基本概念 311
19.1.1 安全威脅、策略和機(jī)制 311
19.1.2 密碼與數(shù)字簽名 312
19.2 加密算法 313
19.2.1 對(duì)稱(chēng)加密 313
19.2.2 使用對(duì)稱(chēng)密鑰加密的數(shù)字簽名 313
19.2.3 非對(duì)稱(chēng)加密 314
19.2.4 使用公鑰加密的數(shù)字簽名 315
19.3 安全通道 315
19.3.1 SSL/TLS 315
19.3.2 SSL握手過(guò)程 316
19.3.3 HTTPS 318
19.4 訪(fǎng)問(wèn)控制 318
19.4.1 防火墻 319
19.4.2 堡壘機(jī) 319
19.4.3 拒絕服務(wù) 319
19.4.4 訪(fǎng)問(wèn)控制的模型 320
19.5 實(shí)戰(zhàn):基于Spring Security實(shí)現(xiàn)安全認(rèn)證 320
19.5.1 添加依賴(lài) 321
19.5.2 添加業(yè)務(wù)代碼 322
19.5.3 配置消息轉(zhuǎn)換器 322
19.5.4 配置Spring Security 323
19.5.5 創(chuàng)建應(yīng)用配置類(lèi) 324
19.5.6 創(chuàng)建內(nèi)嵌Jetty的服務(wù)器 324
19.5.7 應(yīng)用啟動(dòng)器 325
19.5.8 運(yùn)行應(yīng)用 326
19.6 本章小結(jié) 327
19.7 習(xí)題 327
第 20章 可用性 328
20.1 故障不可避免 328
20.2 使用冗余提升系統(tǒng)可用性 328
20.3 常用副本控制協(xié)議 329
20.3.1 中心化副本控制協(xié)議 329
20.3.2 primary-secondary協(xié)議 329
20.3.3 去中心化副本控制協(xié)議 331
20.4 負(fù)載均衡技術(shù) 332
20.4.1 客戶(hù)端發(fā)現(xiàn)模式 332
20.4.2 服務(wù)端發(fā)現(xiàn)模式 333
20.5 實(shí)戰(zhàn):基于NGINX實(shí)現(xiàn)服務(wù)高可用 334
20.5.1 配置負(fù)載均衡 334
20.5.2 負(fù)載均衡常用算法 335
20.5.3 實(shí)現(xiàn)Web服務(wù)的高可用 336
20.5.4 運(yùn)行 336
20.6 本章小結(jié) 337
20.7 習(xí)題 337
第 21章 綜合實(shí)戰(zhàn):基于Spring Cloud的微服務(wù)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn) 338
21.1 Spring Cloud概述 338
21.1.1 什么是Spring Cloud 338
21.1.2 Spring Cloud與Spring Boot的關(guān)系 339
21.2 Spring Cloud入門(mén)配置 339
21.2.1 Maven配置 339
21.2.2 Gradle配置 340
21.2.3 聲明式方法 340
21.3 Spring Cloud的子項(xiàng)目介紹 341
21.3.1 Spring Cloud子項(xiàng)目的組成 341
21.3.2 Spring Cloud組件的版本 342
21.4 實(shí)現(xiàn)微服務(wù)的注冊(cè)與發(fā)現(xiàn) 343
21.4.1 服務(wù)發(fā)現(xiàn)的意義 343
21.4.2 如何集成Eureka Server 343
21.4.3 如何集成Eureka Client 347
21.4.4 實(shí)現(xiàn)服務(wù)的注冊(cè)與發(fā)現(xiàn) 347
21.5 本章小結(jié) 348
21.6 習(xí)題 348
附錄 本書(shū)所涉及的軟件及相關(guān)版本 349
參考文獻(xiàn) 350
你還可能感興趣
我要評(píng)論
|