-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優(yōu)實踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
Java高并發(fā)核心編程 卷3(加強版):億級用戶Web應用架構與實戰(zhàn) 版權信息
- ISBN:9787302621416
- 條形碼:9787302621416 ; 978-7-302-62141-6
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
Java高并發(fā)核心編程 卷3(加強版):億級用戶Web應用架構與實戰(zhàn) 本書特色
基于億級用戶的高并發(fā)、高可用性和高性能Web應用進行體系化、結構化、清晰化的章節(jié)安排。 從Java靜態(tài)代理、動態(tài)代理模式入手,解讀Spring Cloud全家桶中RPC的核心原理和執(zhí)行過程。 從觀察者模式入手,解讀RxJava、Hystrix的核心思想和使用方法。 從高性能傳輸模式Reactor模型入手,解讀Nginx的核心思想以及各配置項的底層知識和原理。 本書的初衷是為讀者奉上一本Spring Cloud和Nginx的“原理級”“思想級”的優(yōu)秀圖書,幫助讀者順利 進入互聯(lián)網大廠,成為高級Java工程師和核心架構師。
Java高并發(fā)核心編程 卷3(加強版):億級用戶Web應用架構與實戰(zhàn) 內容簡介
本書從動態(tài)代理模式、Reactor模式、三大限流策略等知識入手,深入淺出地剖析Spring Cloud+Nginx系統(tǒng)架構的核心原理以及Web高并發(fā)開發(fā)技術。全書從基礎設計模式和基礎原理出發(fā),理論與實戰(zhàn)相結合,系統(tǒng)、詳盡地介紹Spring Cloud + Nginx高并發(fā)核心編程。 本書共10章。前6章剖析Feign高并發(fā)RPC的底層原理,解析Hystrix高性能配置的核心選項,闡述Hystrix滑動窗口的核心原理;后4章介紹Nginx的核心原理及其配置,并結合秒殺場景實現Spring Cloud秒殺、Spring Cloud+Nginx Lua秒殺,為廣大Java開發(fā)者提供一個全面學習高并發(fā)開發(fā)的實戰(zhàn)案例。這些知識會為廣大Java工程師解決后臺開發(fā)中遇到的高并發(fā)、高性能問題打下堅實的技術基礎。
Java高并發(fā)核心編程 卷3(加強版):億級用戶Web應用架構與實戰(zhàn) 目錄
第1章 億級用戶Web應用的架構與實操 1
1.1 高并發(fā)基本原理 1
1.1.1 響應時間 1
1.1.2 吞吐量 2
1.1.3 錯誤率 4
1.2 提升系統(tǒng)的并發(fā)能力 4
1.2.1 縱向擴展 5
1.2.2 橫向擴展 6
1.2.3 高并發(fā)架構中的分層策略 6
1.3 接入層橫向擴展高并發(fā)架構 7
1.3.1 硬負載均衡 7
1.3.2 軟負載均衡 8
1.3.3 LVS和Nginx的配合使用 10
1.3.4 DNS負載均衡 10
1.4 動靜分離與接入層的緩存架構 14
1.4.1 接入層網關緩存 14
1.4.2 CDN加速 15
1.4.3 接入層的緩存架構的原則 17
1.5 服務層的橫向擴展高并發(fā)架構 18
1.5.1 微服務網關的高并發(fā)橫向擴展 18
1.5.2 微服務Provider高并發(fā)橫向擴展 19
1.5.3 微服務Provider的自動伸縮 20
1.6 緩存層的高并發(fā)架構 24
1.6.1 旁路緩存模式 24
1.6.2 讀/寫穿透模式 26
1.6.3 異步回寫模式 28
1.6.4 三大緩存使用模式的比較 28
1.6.5 旁路緩存模式如何保證雙寫的數據一致性 29
1.6.6 本地緩存架構 39
1.6.7 多級、細粒度緩存架構 42
1.7 數據層的橫向擴展高并發(fā)架構 44
1.7.1 數據庫服務器的能力參考數據 44
1.7.2 結構化數據的高并發(fā)架構方案:分庫分表 45
1.7.3 結構化分庫分表:水平拆分與垂直拆分 46
1.7.4 億級庫表規(guī)模架構設計 47
1.7.5 百億級庫表架構設計 48
1.7.6 百億級數據的異構查詢 49
1.7.7 ES+HBase組合方案的數據查詢過程 50
1.8 億級用戶量場景下的流量預估 50
1.8.1 請求處理模型 50
1.8.2 舊系統(tǒng)的流量架構 52
1.8.3 新系統(tǒng)的流量架構 52
1.8.4 二八定律 52
1.8.5 通過二八定律進行流量預估 53
1.9 高并發(fā)架構 56
1.9.1 同步架構 56
1.9.2 異步架構 56
1.10 高可用架構 57
1.10.1 什么是高可用 57
1.10.2 高可用的度量 58
1.10.3 高并發(fā)架構中的分層策略 58
1.10.4 分層規(guī)避單點瓶頸+自動故障轉移 58
1.10.5 其他的高可用策略 59
1.11 高性能架構 59
第2章 Spring Cloud+Nginx高并發(fā)核心編程的學習準備 61
2.1 Spring Cloud + Nginx架構的主要組件 61
2.2 Spring Cloud+Nginx核心知識的廣泛欠缺 63
2.3 Spring Cloud和Spring Boot的版本選擇 63
2.4 Spring Cloud微服務開發(fā)所涉及的中間件 65
2.5 Spring Cloud微服務開發(fā)和自驗證環(huán)境 66
2.5.1 開發(fā)和自驗證環(huán)境的系統(tǒng)選項和環(huán)境變量配置 66
2.5.2 使用Fiddler工具抓包和查看報文 67
2.6 crazy-Spring Cloud微服務開發(fā)腳手架 69
2.7 以秒殺作為Spring Cloud+Nginx的實戰(zhàn)案例 70
第3章 Spring Cloud入門實戰(zhàn) 72
3.1 Eureka服務注冊與發(fā)現 73
3.1.1 什么是服務注冊與發(fā)現 73
3.1.2 Eureka Server注冊中心 74
3.1.3 微服務提供者Provider的創(chuàng)建和配置 79
3.1.4 微服務提供者的續(xù)約(心跳) 82
3.1.5 微服務提供者的健康狀態(tài) 84
3.1.6 Eureka自我保護模式與失效Provider的快速剔除 87
3.2 Config配置中心 90
3.2.1 config-server服務端組件 90
3.2.2 config-client客戶端組件 92
3.3 微服務的RPC遠程調用 93
3.3.1 RESTfull風格簡介 94
3.3.2 RestTemplate遠程調用 94
3.3.3 Feign遠程調用 96
3.4 Feign+Ribbon實現客戶端負載均衡 97
3.4.1 Spring Cloud Ribbon基礎 97
3.4.2 Spring Cloud Ribbon的負載均衡策略 100
3.4.3 Spring Cloud Ribbon的常用配置 101
3.5 Feign+Hystrix實現RPC調用保護 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遠程調用 核心原理 115
4.1 代理模式與RPC客戶端實現類 115
4.1.1 客戶端RPC遠程調用實現類的職責 115
4.1.2 簡單的RPC客戶端實現類 117
4.1.3 從基礎原理講起:代理模式與RPC客戶端實現類 120
4.1.4 使用動態(tài)代理模式實現RPC客戶端類 123
4.1.5 JDK動態(tài)代理機制的原理 126
4.2 模擬的Feign RPC動態(tài)代理實現 128
4.2.1 模擬Feign的MethodHandler方法處理器 129
4.2.2 模擬Feign的InvokeHandler調用處理器 131
4.2.3 模擬Feign動態(tài)代理RPC的執(zhí)行流程 133
4.2.4 模擬動態(tài)代理RPC遠程調用的測試 134
4.2.5 Feign彈性RPC客戶端實現類 135
4.3 Feign彈性RPC客戶端的重要組件 136
4.3.1 演示用例說明 136
4.3.2 Feign的動態(tài)代理RPC客戶端實例 138
4.3.3 Feign的調用處理器InvocationHandler 139
4.3.4 Feign的方法處理器MethodHandler 141
4.3.5 Feign的客戶端組件 143
4.4 Feign的RPC動態(tài)代理實例的創(chuàng)建流程 146
4.4.1 Feign的整體運作流程 146
4.4.2 RPC動態(tài)代理容器實例的FactoryBean工廠類 147
4.4.3 Feign.Builder建造者容器實例 150
4.4.4 默認的RPC動態(tài)代理實例創(chuàng)建流程 152
4.4.5 Contract遠程調用協(xié)議規(guī)則類 155
4.5 Feigh遠程調用的執(zhí)行流程 156
4.5.1 與FeignInvocationHandler相關的遠程調用執(zhí)行流程 157
4.5.2 與HystrixInvocationHandler相關的遠程調用執(zhí)行流程 158
4.5.3 Feign遠程調用的完整流程及其特性 160
4.6 HystrixFeign動態(tài)代理實例的創(chuàng)建流程 161
4.6.1 HystrixFeign.Builder建造者容器實例 162
4.6.2 配置HystrixFeign.Builder建造者容器實例 163
4.7 feign.Client客戶端容器實例 163
4.7.1 裝配LoadBalancerFeignClient負載均衡容器實例 164
4.7.2 包裝ApacheHttpClient實例的負載均衡客戶端裝配 165
4.7.3 包裝OkHttpClient實例的負載均衡客戶端實例 167
4.7.4 包裝Client.Default實例的負載均衡客戶端實例 168
第5章 RxJava響應式編程框架 169
5.1 從基礎原理講起:觀察者模式 169
5.1.1 觀察者模式的基礎原理 169
5.1.2 觀察者模式的經典實現 170
5.1.3 Rxjava中的觀察者模式 172
5.1.4 RxJava的不完整回調 174
5.1.5 RxJava函數式編程 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 過濾型操作符 182
5.3.1 filter操作符 182
5.3.2 distinct操作符 183
5.4 轉換型操作符 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調度器 193
5.8 背壓 195
5.8.1 什么是背壓問題 195
5.8.2 背壓問題的幾種應對模式 197
第6章 Hystrix RPC保護的原理 200
6.1 RPC保護的目標 200
6.2 HystrixCommand簡介 201
6.2.1 HystrixCommand的使用 201
6.2.2 HystrixCommand的配置內容和方式 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í)行方法之間的關系 210
6.4 RPC保護之艙壁模式 212
6.4.1 什么是艙壁模式 212
6.4.2 Hystrix線程池隔離 214
6.4.3 Hystrix線程池隔離配置 217
6.4.4 Hystrix信號量隔離 219
6.5 RPC保護之熔斷器模式 222
6.5.1 熔斷器狀態(tài)變化的演示實例 223
6.5.2 熔斷器和滑動窗口的配置屬性 226
6.5.3 Hystrix命令的執(zhí)行流程 230
6.6 RPC監(jiān)控之滑動窗口實現原理 231
6.6.1 Hystrix健康統(tǒng)計滑動窗口模擬實現 232
6.6.2 Hystrix滑動窗口核心實現原理 236
第7章 微服務網關與用戶身份識別 240
7.1 Zuul的基礎使用 241
7.2 創(chuàng)建Zuul網關服務 241
7.2.1 Zuul路由規(guī)則配置 242
7.2.2 過濾敏感請求頭部 244
7.2.3 路徑前綴的處理 244
7.3 Zuul過濾器 245
7.3.1 Zuul網關的過濾器類型 245
7.3.2 實戰(zhàn):用戶的黑名單過濾 247
7.4 Spring Security原理和實戰(zhàn) 250
7.4.1 Spring Security核心組件 250
7.4.2 Spring Security的請求認證處理流程 253
7.4.3 基于數據源的認證流程 258
7.5 JWT+Spring Security進行網關安全認證 263
7.5.1 JWT安全令牌規(guī)范詳解 263
7.5.2 JWT+Spring Security認證處理流程 267
7.5.3 Zuul網關與UAA微服務的配合 272
7.5.4 使用Zuul過濾器添加代理請求的用戶標識 276
7.6 微服務提供者之間的會話共享關系 277
7.6.1 分布式會話的起源和實現方案 278
7.6.2 Spring Session的核心組件和存儲細節(jié) 279
7.6.3 Spring Session的使用和定制 280
7.6.4 通過用戶身份標識查找session id 282
7.6.5 查找或創(chuàng)建分布式會話 283
7.6.6 加載高速訪問數據到分布式會話 285
第8章 Nginx/OpenResty詳解 287
8.1 Nginx簡介 287
8.1.1 正向代理與反向代理 288
8.1.2 Nginx的啟動與停止 289
8.1.3 Nginx的啟動命令和參數詳解 289
8.1.4 Linux下Openresty的啟動、停止腳本 290
8.1.5 Windows下Openresty的啟動、停止腳本 291
8.2 Nginx的核心原理 293
8.2.1 Reactor反應器模型 293
8.2.2 Nginx的兩類進程 294
8.2.3 Nginx的模塊化設計 295
8.2.4 Nginx配置文件上下文結構 296
8.2.5 Nginx的請求處理流程 298
8.2.6 HTTP請求處理的11個階段 299
8.3 Nginx的基礎配置 303
8.3.1 events事件驅動配置 303
8.3.2 虛擬主機配置 304
8.3.3 錯誤頁面配置 306
8.3.4 長連接相關配置 307
8.3.5 訪問日志配置 307
8.3.6 Nginx核心模塊內置變量 308
8.4 location路由規(guī)則配置詳解 310
8.4.1 location語法詳解 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 反向代理與負載均衡配置 321
8.6.1 演示環(huán)境說明 321
8.6.2 proxy_pass反向代理指令 322
8.6.3 proxy_set_header指令 323
8.6.4 upstream上游服務器組 324
8.6.5 upstream的上游服務器配置 326
8.6.6 upstream的負載分配方式 327
第9章 Nginx Lua編程 329
9.1 Nginx Lua編程主要的應用場景 329
9.2 Nginx Lua編程簡介 329
9.3 Lua開發(fā)基礎 332
9.4 Nginx Lua編程基礎 345
9.5 Nginx Lua編程實例 352
9.6 重定向與內部子請求 360
9.7 Nginx Lua操作Redis 369
9.8 Nginx Lua編程實戰(zhàn)案例 375
第10章 限流原理與實戰(zhàn) 384
10.1 使用Redis實現簡單限流策略 384
10.2 分布式計數器限流 391
10.3 Nginx漏桶限流詳解 397
10.4 實戰(zhàn):分布式令牌桶限流 399
第11章 Spring Cloud Nginx秒殺實戰(zhàn) 406
11.1 秒殺業(yè)務特定和技術難點 406
11.2 秒殺系統(tǒng)的系統(tǒng)架構 408
11.3 秒殺業(yè)務的參考實現 413
11.4 Zuul內部網關實現秒殺限流 431
11.5 Nginx高性能秒殺和限流 435
Java高并發(fā)核心編程 卷3(加強版):億級用戶Web應用架構與實戰(zhàn) 作者簡介
尼 恩中南大學碩士,資深系統(tǒng)架構師、IT領域資深作家、著名博主、從業(yè)十余年,先后在華為、神州數碼等公司從事技術研發(fā)、架構工作。長期專注于高性能Web平臺、高性能通信、高性能搜索、數據挖掘等領域的3高架構研究、架構實操、核心代碼開發(fā)工作,以及核心中間件、底層源碼研究工作,負責過多個億級RMB智慧城市平臺、大型政務平臺、數據中臺架構、技術中臺架構工作,發(fā)起的3高研究社群“瘋狂創(chuàng)客圈”目前有研究人員1100多人。德 魯資深系統(tǒng)架構師,資深技術開發(fā)經理,擁有近20年的開發(fā)、架構和項目管理經驗,一直在一線互聯(lián)網公司進行系統(tǒng)架構設計和Java核心開發(fā)工作。目前帶領4個研發(fā)團隊承擔系統(tǒng)架構分析、設計、實施以及技術團隊人員培訓和管理工作。在多年的開發(fā)過程中積累了豐富的開發(fā)經驗,精通Java、SQL、Spring Boot、Spring Cloud、ELK等計算機語言和開發(fā)框架,同時也是多個開源項目的愛好者和貢獻者。李鵬舉華中科技大學碩士,擁有近10年的研發(fā)和項目管理經驗。先后擔任過資深開發(fā)工程師、項目總監(jiān)、架構師等職務,長期在企業(yè)內進行項目技術培訓工作,擅長核心技術平臺的架構與研發(fā)。曾參與完成高并發(fā)打車平臺、大數據反洗錢平臺、公益醫(yī)藥援助平臺等大型項目的設計和開發(fā)。對分布式系統(tǒng)、微服務架構、大數據分析等技術有較深的理解和實踐。尤里烏斯資深架構師, 曾先后服務于中冶賽迪、吉利科技、茂日科技等知名企業(yè)。致力于大型SAAS系統(tǒng)的分布式架構設計、領域驅動設計、大數據平臺架構設計以及垂直領域的企業(yè)架構規(guī)劃與建設。領導并設計過多個日活用戶在千萬級以上的互聯(lián)網系統(tǒng)架構,擁有豐富的實戰(zhàn)經驗。
- >
伊索寓言-世界文學名著典藏-全譯本
- >
中國歷史的瞬間
- >
羅曼·羅蘭讀書隨筆-精裝
- >
山海經
- >
月亮虎
- >
姑媽的寶刀
- >
史學評論
- >
苦雨齋序跋文-周作人自編集