注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)Java高并發(fā)核心編程:加強(qiáng)版. 卷3, 億級(jí)用戶(hù)Web應(yīng)用架構(gòu)與實(shí)戰(zhàn)

Java高并發(fā)核心編程:加強(qiáng)版. 卷3, 億級(jí)用戶(hù)Web應(yīng)用架構(gòu)與實(shí)戰(zhàn)

Java高并發(fā)核心編程:加強(qiáng)版. 卷3, 億級(jí)用戶(hù)Web應(yīng)用架構(gòu)與實(shí)戰(zhàn)

定 價(jià):¥118.00

作 者: 尼恩 、德魯、李鵬舉、尤里烏斯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

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


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

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

  本書(shū)從動(dòng)態(tài)代理模式、Reactor模式、三大限流策略等知識(shí)入手,深入淺出地剖析Spring Cloud Nginx系統(tǒng)架構(gòu)的核心原理以及Web高并發(fā)開(kāi)發(fā)技術(shù)。全書(shū)從基礎(chǔ)設(shè)計(jì)模式和基礎(chǔ)原理出發(fā),理論與實(shí)戰(zhàn)相結(jié)合,系統(tǒng)、詳盡地介紹Spring Cloud Nginx高并發(fā)核心編程。本書(shū)共10章。前6章剖析Feign高并發(fā)RPC的底層原理,解析Hystrix高性能配置的核心選項(xiàng),闡述Hystrix滑動(dòng)窗口的核心原理;后4章介紹Nginx的核心原理及其配置,并結(jié)合秒殺場(chǎng)景實(shí)現(xiàn)Spring Cloud秒殺、Spring Cloud Nginx Lua秒殺,為廣大Java開(kāi)發(fā)者提供一個(gè)全面學(xué)習(xí)高并發(fā)開(kāi)發(fā)的實(shí)戰(zhàn)案例。這些知識(shí)會(huì)為廣大Java工程師解決后臺(tái)開(kāi)發(fā)中遇到的高并發(fā)、高性能問(wèn)題打下堅(jiān)實(shí)的技術(shù)基礎(chǔ)。

作者簡(jiǎn)介

  尼恩中南大學(xué)碩士,資深系統(tǒng)架構(gòu)師、IT領(lǐng)域資深作家、著名博主、從業(yè)十余年,先后在華為、神州數(shù)碼等公司從事技術(shù)研發(fā)、架構(gòu)工作。長(zhǎng)期專(zhuān)注于高性能Web平臺(tái)、高性能通信、高性能搜索、數(shù)據(jù)挖掘等領(lǐng)域的3高架構(gòu)研究、架構(gòu)實(shí)操、核心代碼開(kāi)發(fā)工作,以及核心中間件、底層源碼研究工作,負(fù)責(zé)過(guò)多個(gè)億級(jí)RMB智慧城市平臺(tái)、大型政務(wù)平臺(tái)、數(shù)據(jù)中臺(tái)架構(gòu)、技術(shù)中臺(tái)架構(gòu)工作,發(fā)起的3高研究社群“瘋狂創(chuàng)客圈”目前有研究人員1100多人。德魯資深系統(tǒng)架構(gòu)師,資深技術(shù)開(kāi)發(fā)經(jīng)理,擁有近20年的開(kāi)發(fā)、架構(gòu)和項(xiàng)目管理經(jīng)驗(yàn),一直在一線(xiàn)互聯(lián)網(wǎng)公司進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì)和Java核心開(kāi)發(fā)工作。目前帶領(lǐng)4個(gè)研發(fā)團(tuán)隊(duì)承擔(dān)系統(tǒng)架構(gòu)分析、設(shè)計(jì)、實(shí)施以及技術(shù)團(tuán)隊(duì)人員培訓(xùn)和管理工作。在多年的開(kāi)發(fā)過(guò)程中積累了豐富的開(kāi)發(fā)經(jīng)驗(yàn),精通Java、SQL、Spring Boot、Spring Cloud、ELK等計(jì)算機(jī)語(yǔ)言和開(kāi)發(fā)框架,同時(shí)也是多個(gè)開(kāi)源項(xiàng)目的愛(ài)好者和貢獻(xiàn)者。李鵬舉華中科技大學(xué)碩士,擁有近10年的研發(fā)和項(xiàng)目管理經(jīng)驗(yàn)。先后擔(dān)任過(guò)資深開(kāi)發(fā)工程師、項(xiàng)目總監(jiān)、架構(gòu)師等職務(wù),長(zhǎng)期在企業(yè)內(nèi)進(jìn)行項(xiàng)目技術(shù)培訓(xùn)工作,擅長(zhǎng)核心技術(shù)平臺(tái)的架構(gòu)與研發(fā)。曾參與完成高并發(fā)打車(chē)平臺(tái)、大數(shù)據(jù)反洗錢(qián)平臺(tái)、公益醫(yī)藥援助平臺(tái)等大型項(xiàng)目的設(shè)計(jì)和開(kāi)發(fā)。對(duì)分布式系統(tǒng)、微服務(wù)架構(gòu)、大數(shù)據(jù)分析等技術(shù)有較深的理解和實(shí)踐。尤里烏斯資深架構(gòu)師, 曾先后服務(wù)于中冶賽迪、吉利科技、茂日科技等知名企業(yè)。致力于大型SAAS系統(tǒng)的分布式架構(gòu)設(shè)計(jì)、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)、大數(shù)據(jù)平臺(tái)架構(gòu)設(shè)計(jì)以及垂直領(lǐng)域的企業(yè)架構(gòu)規(guī)劃與建設(shè)。領(lǐng)導(dǎo)并設(shè)計(jì)過(guò)多個(gè)日活用戶(hù)在千萬(wàn)級(jí)以上的互聯(lián)網(wǎng)系統(tǒng)架構(gòu),擁有豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。

圖書(shū)目錄


第1章  億級(jí)用戶(hù)Web應(yīng)用的架構(gòu)與實(shí)操 1
1.1  高并發(fā)基本原理 1
1.1.1  響應(yīng)時(shí)間 1
1.1.2  吞吐量 2
1.1.3  錯(cuò)誤率 4
1.2  提升系統(tǒng)的并發(fā)能力 4
1.2.1  縱向擴(kuò)展 5
1.2.2  橫向擴(kuò)展 6
1.2.3  高并發(fā)架構(gòu)中的分層策略 6
1.3  接入層橫向擴(kuò)展高并發(fā)架構(gòu) 7
1.3.1  硬負(fù)載均衡 7
1.3.2  軟負(fù)載均衡 8
1.3.3  LVS和Nginx的配合使用 10
1.3.4  DNS負(fù)載均衡 10
1.4  動(dòng)靜分離與接入層的緩存架構(gòu) 14
1.4.1  接入層網(wǎng)關(guān)緩存 14
1.4.2  CDN加速 15
1.4.3  接入層的緩存架構(gòu)的原則 17
1.5  服務(wù)層的橫向擴(kuò)展高并發(fā)架構(gòu) 18
1.5.1  微服務(wù)網(wǎng)關(guān)的高并發(fā)橫向擴(kuò)展 18
1.5.2  微服務(wù)Provider高并發(fā)橫向擴(kuò)展 19
1.5.3  微服務(wù)Provider的自動(dòng)伸縮 20
1.6  緩存層的高并發(fā)架構(gòu) 24
1.6.1  旁路緩存模式 24
1.6.2  讀/寫(xiě)穿透模式 26
1.6.3  異步回寫(xiě)模式 28
1.6.4  三大緩存使用模式的比較 28
1.6.5  旁路緩存模式如何保證雙寫(xiě)的數(shù)據(jù)一致性 29
1.6.6  本地緩存架構(gòu) 39
1.6.7  多級(jí)、細(xì)粒度緩存架構(gòu) 42
1.7  數(shù)據(jù)層的橫向擴(kuò)展高并發(fā)架構(gòu) 44
1.7.1  數(shù)據(jù)庫(kù)服務(wù)器的能力參考數(shù)據(jù) 44
1.7.2  結(jié)構(gòu)化數(shù)據(jù)的高并發(fā)架構(gòu)方案:分庫(kù)分表 45
1.7.3  結(jié)構(gòu)化分庫(kù)分表:水平拆分與垂直拆分 46
1.7.4  億級(jí)庫(kù)表規(guī)模架構(gòu)設(shè)計(jì) 47
1.7.5  百億級(jí)庫(kù)表架構(gòu)設(shè)計(jì) 48
1.7.6  百億級(jí)數(shù)據(jù)的異構(gòu)查詢(xún) 49
1.7.7  ES HBase組合方案的數(shù)據(jù)查詢(xún)過(guò)程 50
1.8  億級(jí)用戶(hù)量場(chǎng)景下的流量預(yù)估 50
1.8.1  請(qǐng)求處理模型 50
1.8.2  舊系統(tǒng)的流量架構(gòu) 52
1.8.3  新系統(tǒng)的流量架構(gòu) 52
1.8.4  二八定律 52
1.8.5  通過(guò)二八定律進(jìn)行流量預(yù)估 53
1.9  高并發(fā)架構(gòu) 56
1.9.1  同步架構(gòu) 56
1.9.2  異步架構(gòu) 56
1.10  高可用架構(gòu) 57
1.10.1  什么是高可用 57
1.10.2  高可用的度量 58
1.10.3  高并發(fā)架構(gòu)中的分層策略 58
1.10.4  分層規(guī)避單點(diǎn)瓶頸 自動(dòng)故障轉(zhuǎn)移 58
1.10.5  其他的高可用策略 59
1.11  高性能架構(gòu) 59
第2章  Spring Cloud Nginx高并發(fā)核心編程的學(xué)習(xí)準(zhǔn)備 61
2.1  Spring Cloud Nginx架構(gòu)的主要組件 61
2.2  Spring Cloud Nginx核心知識(shí)的廣泛欠缺 63
2.3  Spring Cloud和Spring Boot的版本選擇 63
2.4  Spring Cloud微服務(wù)開(kāi)發(fā)所涉及的中間件 65
2.5  Spring Cloud微服務(wù)開(kāi)發(fā)和自驗(yàn)證環(huán)境 66
2.5.1  開(kāi)發(fā)和自驗(yàn)證環(huán)境的系統(tǒng)選項(xiàng)和環(huán)境變量配置 66
2.5.2  使用Fiddler工具抓包和查看報(bào)文 67
2.6  crazy-Spring Cloud微服務(wù)開(kāi)發(fā)腳手架 69
2.7  以秒殺作為Spring Cloud Nginx的實(shí)戰(zhàn)案例 70
第3章  Spring Cloud入門(mén)實(shí)戰(zhàn) 72
3.1  Eureka服務(wù)注冊(cè)與發(fā)現(xiàn) 73
3.1.1  什么是服務(wù)注冊(cè)與發(fā)現(xiàn) 73
3.1.2  Eureka Server注冊(cè)中心 74
3.1.3  微服務(wù)提供者Provider的創(chuàng)建和配置 79
3.1.4  微服務(wù)提供者的續(xù)約(心跳) 82
3.1.5  微服務(wù)提供者的健康狀態(tài) 84
3.1.6  Eureka自我保護(hù)模式與失效Provider的快速剔除 87
3.2  Config配置中心 90
3.2.1  config-server服務(wù)端組件 90
3.2.2  config-client客戶(hù)端組件 92
3.3  微服務(wù)的RPC遠(yuǎn)程調(diào)用 93
3.3.1  RESTfull風(fēng)格簡(jiǎn)介 94
3.3.2  RestTemplate遠(yuǎn)程調(diào)用 94
3.3.3  Feign遠(yuǎn)程調(diào)用 96
3.4  Feign Ribbon實(shí)現(xiàn)客戶(hù)端負(fù)載均衡 97
3.4.1  Spring Cloud Ribbon基礎(chǔ) 97
3.4.2  Spring Cloud Ribbon的負(fù)載均衡策略 100
3.4.3  Spring Cloud Ribbon的常用配置 101
3.5  Feign Hystrix實(shí)現(xiàn)RPC調(diào)用保護(hù) 105
3.5.1  Spring Cloud Hystrix失敗回退 106
3.5.2  分布式系統(tǒng)面臨的雪崩難題 109
3.5.3  Spring Cloud Hystrix熔斷器 111
第4章  Spring Cloud RPC遠(yuǎn)程調(diào)用 核心原理 115
4.1  代理模式與RPC客戶(hù)端實(shí)現(xiàn)類(lèi) 115
4.1.1  客戶(hù)端RPC遠(yuǎn)程調(diào)用實(shí)現(xiàn)類(lèi)的職責(zé) 115
4.1.2  簡(jiǎn)單的RPC客戶(hù)端實(shí)現(xiàn)類(lèi) 117
4.1.3  從基礎(chǔ)原理講起:代理模式與RPC客戶(hù)端實(shí)現(xiàn)類(lèi) 120
4.1.4  使用動(dòng)態(tài)代理模式實(shí)現(xiàn)RPC客戶(hù)端類(lèi) 123
4.1.5  JDK動(dòng)態(tài)代理機(jī)制的原理 126
4.2  模擬的Feign RPC動(dòng)態(tài)代理實(shí)現(xiàn) 128
4.2.1  模擬Feign的MethodHandler方法處理器 129
4.2.2  模擬Feign的InvokeHandler調(diào)用處理器 131
4.2.3  模擬Feign動(dòng)態(tài)代理RPC的執(zhí)行流程 133
4.2.4  模擬動(dòng)態(tài)代理RPC遠(yuǎn)程調(diào)用的測(cè)試 134
4.2.5  Feign彈性RPC客戶(hù)端實(shí)現(xiàn)類(lèi) 135
4.3  Feign彈性RPC客戶(hù)端的重要組件 136
4.3.1  演示用例說(shuō)明 136
4.3.2  Feign的動(dòng)態(tài)代理RPC客戶(hù)端實(shí)例 138
4.3.3  Feign的調(diào)用處理器InvocationHandler 139
4.3.4  Feign的方法處理器MethodHandler 141
4.3.5  Feign的客戶(hù)端組件 143
4.4  Feign的RPC動(dòng)態(tài)代理實(shí)例的創(chuàng)建流程 146
4.4.1  Feign的整體運(yùn)作流程 146
4.4.2  RPC動(dòng)態(tài)代理容器實(shí)例的FactoryBean工廠(chǎng)類(lèi) 147
4.4.3  Feign.Builder建造者容器實(shí)例 150
4.4.4  默認(rèn)的RPC動(dòng)態(tài)代理實(shí)例創(chuàng)建流程 152
4.4.5  Contract遠(yuǎn)程調(diào)用協(xié)議規(guī)則類(lèi) 155
4.5  Feigh遠(yuǎn)程調(diào)用的執(zhí)行流程 156
4.5.1  與FeignInvocationHandler相關(guān)的遠(yuǎn)程調(diào)用執(zhí)行流程 157
4.5.2  與HystrixInvocationHandler相關(guān)的遠(yuǎn)程調(diào)用執(zhí)行流程 158
4.5.3  Feign遠(yuǎn)程調(diào)用的完整流程及其特性 160
4.6  HystrixFeign動(dòng)態(tài)代理實(shí)例的創(chuàng)建流程 161
4.6.1  HystrixFeign.Builder建造者容器實(shí)例 162
4.6.2  配置HystrixFeign.Builder建造者容器實(shí)例 163
4.7  feign.Client客戶(hù)端容器實(shí)例 163
4.7.1  裝配LoadBalancerFeignClient負(fù)載均衡容器實(shí)例 164
4.7.2  包裝ApacheHttpClient實(shí)例的負(fù)載均衡客戶(hù)端裝配 165
4.7.3  包裝OkHttpClient實(shí)例的負(fù)載均衡客戶(hù)端實(shí)例 167
4.7.4  包裝Client.Default實(shí)例的負(fù)載均衡客戶(hù)端實(shí)例 168
第5章  RxJava響應(yīng)式編程框架 169
5.1  從基礎(chǔ)原理講起:觀察者模式 169
5.1.1  觀察者模式的基礎(chǔ)原理 169
5.1.2  觀察者模式的經(jīng)典實(shí)現(xiàn) 170
5.1.3  Rxjava中的觀察者模式 172
5.1.4  RxJava的不完整回調(diào) 174
5.1.5  RxJava函數(shù)式編程 176
5.1.6  RxJava的Operators操作符 177
5.2  創(chuàng)建型操作符 178
5.2.1  just操作符 178
5.2.2  from操作符 179
5.2.3  range操作符 180
5.2.4  interval操作符 180
5.2.5  defer延遲創(chuàng)建操作符 181
5.3  過(guò)濾型操作符 182
5.3.1  filter操作符 182
5.3.2  distinct操作符 183
5.4  轉(zhuǎn)換型操作符 183
5.4.1  map操作符 183
5.4.2  flatMap操作符 184
5.4.3  scan操作符 186
5.5  聚合操作符 187
5.5.1  count操作符 187
5.5.2  reduce操作符 188
5.6  其他操作符 189
5.6.1  take操作符 190
5.6.2  window操作符 190
5.7  RxJava的Scheduler調(diào)度器 193
5.8  背壓 195
5.8.1  什么是背壓?jiǎn)栴} 195
5.8.2  背壓?jiǎn)栴}的幾種應(yīng)對(duì)模式 197
第6章  Hystrix RPC保護(hù)的原理 200
6.1  RPC保護(hù)的目標(biāo) 200
6.2  HystrixCommand簡(jiǎn)介 201
6.2.1  HystrixCommand的使用 201
6.2.2  HystrixCommand的配置內(nèi)容和方式 203
6.3  HystrixCommand命令執(zhí)行的方法 205
6.3.1  execute()方法 205
6.3.2  queue()方法 206
6.3.3  observe()方法 208
6.3.4  toObservable()方法 209
6.3.5  HystrixCommand的執(zhí)行方法之間的關(guān)系 210
6.4  RPC保護(hù)之艙壁模式 212
6.4.1  什么是艙壁模式 212
6.4.2  Hystrix線(xiàn)程池隔離 214
6.4.3  Hystrix線(xiàn)程池隔離配置 217
6.4.4  Hystrix信號(hào)量隔離 219
6.5  RPC保護(hù)之熔斷器模式 222
6.5.1  熔斷器狀態(tài)變化的演示實(shí)例 223
6.5.2  熔斷器和滑動(dòng)窗口的配置屬性 226
6.5.3  Hystrix命令的執(zhí)行流程 230
6.6  RPC監(jiān)控之滑動(dòng)窗口實(shí)現(xiàn)原理 231
6.6.1  Hystrix健康統(tǒng)計(jì)滑動(dòng)窗口模擬實(shí)現(xiàn) 232
6.6.2  Hystrix滑動(dòng)窗口核心實(shí)現(xiàn)原理 236
第7章  微服務(wù)網(wǎng)關(guān)與用戶(hù)身份識(shí)別 240
7.1  Zuul的基礎(chǔ)使用 241
7.2  創(chuàng)建Zuul網(wǎng)關(guān)服務(wù) 241
7.2.1  Zuul路由規(guī)則配置 242
7.2.2  過(guò)濾敏感請(qǐng)求頭部 244
7.2.3  路徑前綴的處理 244
7.3  Zuul過(guò)濾器 245
7.3.1  Zuul網(wǎng)關(guān)的過(guò)濾器類(lèi)型 245
7.3.2  實(shí)戰(zhàn):用戶(hù)的黑名單過(guò)濾 247
7.4  Spring Security原理和實(shí)戰(zhàn) 250
7.4.1  Spring Security核心組件 250
7.4.2  Spring Security的請(qǐng)求認(rèn)證處理流程 253
7.4.3  基于數(shù)據(jù)源的認(rèn)證流程 258
7.5  JWT Spring Security進(jìn)行網(wǎng)關(guān)安全認(rèn)證 263
7.5.1  JWT安全令牌規(guī)范詳解 263
7.5.2  JWT Spring Security認(rèn)證處理流程 267
7.5.3  Zuul網(wǎng)關(guān)與UAA微服務(wù)的配合 272
7.5.4  使用Zuul過(guò)濾器添加代理請(qǐng)求的用戶(hù)標(biāo)識(shí) 276
7.6  微服務(wù)提供者之間的會(huì)話(huà)共享關(guān)系 277
7.6.1  分布式會(huì)話(huà)的起源和實(shí)現(xiàn)方案 278
7.6.2  Spring Session的核心組件和存儲(chǔ)細(xì)節(jié) 279
7.6.3  Spring Session的使用和定制 280
7.6.4  通過(guò)用戶(hù)身份標(biāo)識(shí)查找session id 282
7.6.5  查找或創(chuàng)建分布式會(huì)話(huà) 283
7.6.6  加載高速訪(fǎng)問(wèn)數(shù)據(jù)到分布式會(huì)話(huà) 285
第8章  Nginx/OpenResty詳解 287
8.1  Nginx簡(jiǎn)介 287
8.1.1  正向代理與反向代理 288
8.1.2  Nginx的啟動(dòng)與停止 289
8.1.3  Nginx的啟動(dòng)命令和參數(shù)詳解 289
8.1.4  Linux下Openresty的啟動(dòng)、停止腳本 290
8.1.5  Windows下Openresty的啟動(dòng)、停止腳本 291
8.2  Nginx的核心原理 293
8.2.1  Reactor反應(yīng)器模型 293
8.2.2  Nginx的兩類(lèi)進(jìn)程 294
8.2.3  Nginx的模塊化設(shè)計(jì) 295
8.2.4  Nginx配置文件上下文結(jié)構(gòu) 296
8.2.5  Nginx的請(qǐng)求處理流程 298
8.2.6  HTTP請(qǐng)求處理的11個(gè)階段 299
8.3  Nginx的基礎(chǔ)配置 303
8.3.1  events事件驅(qū)動(dòng)配置 303
8.3.2  虛擬主機(jī)配置 304
8.3.3  錯(cuò)誤頁(yè)面配置 306
8.3.4  長(zhǎng)連接相關(guān)配置 307
8.3.5  訪(fǎng)問(wèn)日志配置 307
8.3.6  Nginx核心模塊內(nèi)置變量 308
8.4  location路由規(guī)則配置詳解 310
8.4.1  location語(yǔ)法詳解 310
8.4.2  常用的location路由配置 313
8.5  Nginx的rewrite模塊指令 314
8.5.1  set指令 314
8.5.2  rewrite指令 315
8.5.3  if條件指令 317
8.5.4  add_header指令 319
8.5.5  指令的執(zhí)行順序 320
8.6  反向代理與負(fù)載均衡配置 321
8.6.1  演示環(huán)境說(shuō)明 321
8.6.2  proxy_pass反向代理指令 322
8.6.3  proxy_set_header指令 323
8.6.4  upstream上游服務(wù)器組 324
8.6.5  upstream的上游服務(wù)器配置 326
8.6.6  upstream的負(fù)載分配方式 327
第9章  Nginx Lua編程 329
9.1  Nginx Lua編程主要的應(yīng)用場(chǎng)景 329
9.2  Nginx Lua編程簡(jiǎn)介 329
9.2.1  ngx_lua簡(jiǎn)介 330
9.2.2  Nginx Lua項(xiàng)目的創(chuàng)建 330
9.2.3  Lua項(xiàng)目的工程結(jié)構(gòu) 331
9.2.4  Lua項(xiàng)目的啟動(dòng) 331
9.3  Lua開(kāi)發(fā)基礎(chǔ) 332
9.3.1  Lua模塊的定義和使用 333
9.3.2  Lua模塊的使用 333
9.3.3  Lua的數(shù)據(jù)類(lèi)型 334
9.3.4  Lua的字符串 337
9.3.5  Lua中的數(shù)組容器 338
9.3.6  Lua的控制結(jié)構(gòu) 340
9.3.7  Lua的函數(shù)定義 342
9.3.8  Lua的面向?qū)ο缶幊?344
9.4  Nginx Lua編程基礎(chǔ) 345
9.4.1  Nginx Lua的執(zhí)行原理 345
9.4.2  Nginx Lua的配置指令 346
9.4.3  Nginx Lua的常用配置指令 347
9.4.4  Nginx Lua的內(nèi)置常量和變量 350
9.5  Nginx Lua編程實(shí)例 352
9.5.1  Lua腳本獲取URL中的參數(shù) 352
9.5.2  Nginx Lua的內(nèi)置方法 353
9.5.3  通過(guò)ngx.header設(shè)置HTTP響應(yīng)頭 355
9.5.4  Lua訪(fǎng)問(wèn)Nginx變量 358
9.5.5  Lua訪(fǎng)問(wèn)請(qǐng)求上下文變量 359
9.6  重定向與內(nèi)部子請(qǐng)求 360
9.6.1  Nginx Lua內(nèi)部重定向 360
9.6.2  Nginx Lua外部重定向 362
9.6.3  ngx.location.capture子請(qǐng)求 364
9.6.4  ngx.location.capture_multi并發(fā)子請(qǐng)求 367
9.7  Nginx Lua操作Redis 369
9.7.1  Redis的CRUD基本操作 369
9.7.2  實(shí)戰(zhàn):封裝一個(gè)操作Redis的基礎(chǔ)類(lèi) 371
9.7.3  在Lua中使用Redis連接池 373
9.8  Nginx Lua編程實(shí)戰(zhàn)案例 375
9.8.1  Nginx Redis進(jìn)行分布式訪(fǎng)問(wèn)統(tǒng)計(jì) 375
9.8.2  Nginx Redis Java容器實(shí)現(xiàn)高并發(fā)訪(fǎng)問(wèn) 376
9.8.3  Nginx Redis實(shí)現(xiàn)黑名單攔截 380
9.8.4  使用Nginx Lua共享內(nèi)存 382
第10章  限流原理與實(shí)戰(zhàn) 384
10.1  使用Redis實(shí)現(xiàn)簡(jiǎn)單限流策略 384
10.1.1  3種限流策略:計(jì)數(shù)器、漏桶、令牌桶 384
10.1.2  計(jì)數(shù)器限流原理和Java參考實(shí)現(xiàn) 385
10.1.3  漏桶算法限流原理和Java參考實(shí)現(xiàn) 387
10.1.4  令牌桶限流原理和Java參考實(shí)現(xiàn) 389
10.2  分布式計(jì)數(shù)器限流 391
10.2.1  Nginx Lua分布式計(jì)數(shù)器限流 391
10.2.2  Redis Lua分布式計(jì)數(shù)器限流 394
10.3  Nginx漏桶限流詳解 397
10.4  實(shí)戰(zhàn):分布式令牌桶限流 399
10.4.1  分布式令牌桶限流Lua腳本 399
10.4.2  Java分布式令牌桶限流 401
10.4.3  Java分布式令牌桶限流的自驗(yàn)證 404
第11章  Spring Cloud Nginx秒殺實(shí)戰(zhàn) 406
11.1  秒殺業(yè)務(wù)特定和技術(shù)難點(diǎn) 406
11.1.1  秒殺系統(tǒng)的業(yè)務(wù)功能 406
11.1.2  秒殺系統(tǒng)面臨的技術(shù)難題 407
11.2  秒殺系統(tǒng)的系統(tǒng)架構(gòu) 408
11.2.1  秒殺的分層架構(gòu) 408
11.2.2  秒殺的限流架構(gòu) 410
11.2.3  秒殺的分布式鎖架構(gòu) 411
11.2.4  秒殺的削峰架構(gòu) 412
11.3  秒殺業(yè)務(wù)的參考實(shí)現(xiàn) 413
11.3.1  秒殺的功能模塊和接口設(shè)計(jì) 413
11.3.2  數(shù)據(jù)表和PO實(shí)體類(lèi)設(shè)計(jì) 416
11.3.3  使用分布式ID生成器 418
11.3.4  秒殺的controller層設(shè)計(jì) 420
11.3.5  service層邏輯:獲取秒殺令牌 421
11.3.6  service層邏輯:執(zhí)行秒殺下單 424
11.3.7  秒殺的Lua腳本設(shè)計(jì) 427
11.3.8  BusinessException業(yè)務(wù)異常定義 429
11.4  Zuul內(nèi)部網(wǎng)關(guān)實(shí)現(xiàn)秒殺限流 431
11.5  Nginx高性能秒殺和限流 435
11.5.1  Lua腳本:獲取秒殺令牌 436
11.5.2  Lua腳本:執(zhí)行令牌桶限流 438

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)