
作者:尼恩
页数:464
出版社:机械工业出版社
出版日期:2020
ISBN:9787111665571
电子书格式:pdf/epub/txt
内容简介
本书从动态代理模式、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客户端实现类 ……
第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客户端实现类 ……















