商品簡介
本書從動態代理模式、Reactor模式、三大限流策略等知識入手,深入淺出地剖析Spring Cloud+Nginx系統架構的核心原理以及Web高併發開發。全書從基礎設計模式和基礎原理出發,理論與實戰相結合,系統和詳盡地介紹Spring Cloud + Nginx高併發核心編程。
本書共10章,前6章剖析Feign高併發RPC的底層原理,解析Hystrix高性能配置的核心選項,闡述Hystrix滑動窗口的核心原理。後4章介紹Nginx的核心原理及其配置,並結合秒殺場景實現Spring Cloud秒殺、Spring Cloud+Nginx Lua秒殺,為廣大Java開發者提供一個全面學習高併發開發的實戰案例。這些知識為廣大的Java工程師解決日常在後臺開發中遇到的高併發、高性能問題打下堅實的技術基礎。
名人推薦
Spring Cloud + Nginx高併發核心編程,理論與實戰相結合
目次
前言
第1章 Spring Cloud+Nginx 高併發核心編程的學習準備 ........................ 1
1.1 Spring Cloud+Nginx架構的主要組件 ......................................... 1
1.2 Spring Cloud和Spring Boot的版本選擇 .............................................. 3
1.3 Spring Cloud微服務開發所涉及的中間件..................................... 4
1.4 Spring Cloud微服務開發和自驗證環境 .................................................... 6
1.4.1 開發和自驗證環境的系統選項和環境變量配置.......................................... 6
1.4.2 使用Fiddler工具抓包和查看報文....................................................... 7
1.5 crazy-springcloud微服務開發腳手........................................................ 9
1.6 以秒殺作為Spring Cloud+Nginx的實戰案例 ............................................. 10
第2章 Spring Cloud入門實戰 ...................................................... 12
2.1 Eureka服務註冊與發現 .................................................... 13
2.1.1 什麼是服務註冊與發現 ......................................................... 13
2.1.2 Eureka Server註冊中心 ......................................................... 14
2.1.3 服務提供者的創建和配置 ......................................................... 19
2.1.4 服務提供者的續約(心跳) ....................................................... 22
2.1.5 服務提供者的健康狀態 ............................................................ 24
2.1.6 Eureka自我保護模式與失效Provider的快速剔除 .................................... 28
2.2 Config配置中心 ............................................................... 32
2.2.1 config-server服務端組件 .......................................................... 32
2.2.2 config-client客戶端組件 .......................................................... 35
2.3 微服務的RPC遠程調用 ................................................................ 36
2.3.1 RESTful風格簡介 ....................................................... 36
2.3.2 RestTemplate遠程調用 ............................................................ 37
2.3.3 Feign遠程調用 ................................................................... 38
2.4 Feign+Ribbon實現客戶端負載均衡 .................................................... 40
2.4.1 Spring Cloud Ribbon基礎 ......................................................... 41
2.4.2 Spring Cloud Ribbon的負載均衡策略 ............................................... 43
2.4.3 Spring Cloud Ribbon的常用配置 ................................................... 45
2.5 Feign+Hystrix實現RPC調用保護 ...................................................... 50
2.5.1 Spring Cloud Hystrix失敗回退 ..................................................... 51
2.5.2 分布式系統面臨的雪崩難題 ........................................................ 55
2.5.3 Spring Cloud Hystrix熔斷器 ...................................................... 56
第3章 Spring Cloud RPC遠程調用核心原理 .................................................. 61
3.1 代理模式與RPC客戶端實現類 ............................................................ 61
3.1.1 客戶端RPC遠程調用實現類的職責 ................................................. 61
3.1.2 簡單的RPC客戶端實現類 ........................................................ 63
3.1.3 從基礎原理講起:代理模式與RPC客戶端實現類 ......................................... 67
3.1.4 使用動態代理模式實現RPC客戶端類 ............................................. 70
3.1.5 JDK動態代理機制的原理 ........................................ 74
3.2 模擬Feign RPC動態代理的實現 ....................................................... 77
3.2.1 模擬Feign的方法處理器MethodHandler ................................................. 78
3.2.2 模擬Feign的調用處理器InvocationHandler ...................................... 80
3.2.3 模擬Feign的動態代理RPC的執行流程 ................................................. 83
3.2.4 模擬動態代理RPC遠程調用的測試 .................................................. 83
3.2.5 Feign彈性RPC客戶端實現類 ......