作者: 杨开振
出版社: 人民邮电出版社
出版年: 2020-05
ISBN: 9787115532206
~~滚到底部有网盘下载链接~~
内容简介
《Spring Cloud微服务和分布式系统实践》从企业的真实需求出发,理论结合实际,深入讲解Spring Cloud微服务和分布式系统的知识。书中既包括Spring Cloud微服务的各类常用组件的讲解,又包括分布式系统的常用知识的介绍。Spring Cloud组件方面主要讲解服务注册和服务发现(Eureka)、服务调用(Ribbon和OpenFeign)、断路器(Hystrix和Resilience4j)、网关(Zuul和Gateway)、配置(Config)、全链路追踪(Sleuth)、微服务的监控(Admin)等;分布式系统方面主要讲解分布式数据库、分布式缓存、会话和权限以及发号机制等。本书的实践部分通过Apache Thrift讲解了远程过程调用(RPC)在分布式系统中的应用,并且分析了处理高并发的一些常用方法,最后还通过一个简单的实例讲解了微服务系统的搭建。本书适合想要学习Spring Cloud微服务、分布式系统开发的各类Java开发人员阅读,包括初学者和开发工程师。本书对架构师也有一定的帮助。
杨开振,精通Java互联网技术,拥有十余年企业一线开发和实践经验,著有《深入浅出Spring Boot 2.x》《深入浅出MyBatis技术原理与实战》《Java EE互联网轻量级框架整合开发——SSM框架(Spring MVC+Spring+MyBatis)和Redis实现》等业内畅销书。
杨开振,精通Java互联网技术,拥有十余年企业一线开发和实践经验,著有《深入浅出Spring Boot 2.x》《深入浅出MyBatis技术原理与实战》《Java EE互联网轻量级框架整合开发——SSM框架(Spring MVC+Spring+MyBatis)和Redis实现》等业内畅销书。
目录
版权信息
内容提要
前 言
为什么选择Spring Cloud
为什么还要讲微服务之外的分布式系统的知识
内容安排
排版约定
目标读者
致谢
纠错、源码和课程
资源与支持
配套资源
提交勘误
与我们联系
关于异步社区和异步图书
第一部分 概述和基础
第1章 分布式和微服务概述
1.1 互联网系统的特征
1.2 分布式系统概述
1.3 分布式系统的设计原则
1.4 微服务架构
1.5 Spring Cloud
1.6 微服务系统样例简介
第2章 技术基础
2.1 Spring Boot
2.2 REST风格简介
第二部分 Spring Cloud微服务
第3章 服务治理——Eureka
3.1 服务治理中心
3.2 Eureka治理机制
3.3 Eureka配置
第4章 客户端负载均衡——Ribbon
4.1 负载均衡概述
4.2 初识Ribbon
4.3 Ribbon负载均衡器和策略
4.4 Ribbon服务实例清单维护
4.5 自定义Ribbon客户端
4.6 Ribbon使用实践
第5章 断路器——Hystrix
5.1 概述
5.2 入门实例
5.3 Hystrix工作原理
5.4 Hystrix实践
5.5 仪表盘
5.6 Hystrix属性配置
第6章 新断路器——Resilience4j
6.1 断路器(CircuitBreaker)
6.2 限速器(RateLimiter)
6.3 舱壁隔离(Bulkhead)
6.4 重试器(Retry)
6.5 缓存(Cache)
6.6 时间限制器(TimeLimiter)
6.7 组件混用
6.8 使用Spring Boot 2的配置方式
第7章 声明式调用——OpenFeign
7.1 OpenFeign的使用
7.2 配置Hystrix
7.3 使用Resilience4j调用OpenFeign接口
第8章 旧API网关——Zuul
8.1 什么是网关
8.2 Zuul入门实例
8.3 Zuul原理——过滤器
8.4 限流
8.5 动态路由
8.6 灰度发布(金丝雀发布)
8.7 使用Hystrix熔断
第9章 新网关——Spring Cloud Gateway
9.1 认识Gateway
9.2 断言(Predicate)
9.3 过滤器(Filter)概述
9.4 内置过滤器工厂
9.5 自定义过滤器
9.6 Gateway知识补充
第10章 配置——Spring Cloud Config
10.1 入门实例——使用Git仓库
10.2 使用其他方式实现配置
10.3 服务端的使用详解
第11章 Spring Cloud Sleuth全链路追踪
11.1 链路追踪的基本概念
11.2 Spring Cloud Sleuth和Zipkin
11.3 实例
11.4 持久化
第12章 微服务的监控——Spring Boot Admin
12.1 本章实例简介
12.2 URL注册方式
12.3 服务发现注册方式
12.4 使用Spring Security保护Admin服务端
第三部分 分布式技术
第13章 生成唯一的ID——发号机制
13.1 生成ID的常见办法
13.2 自定义发号机制
第14章 分布式数据库技术
14.1 基础知识
14.2 开发环境搭建
14.3 分片算法
14.4 分片中间件ShardingSphere
第15章 分布式数据库事务
15.1 强一致性事务
15.2 弱一致性事务
15.3 分布式事务应用的实践理论
第16章 分布式缓存——Redis
16.1 Redis的高可用
16.2 使用一致性哈希(ShardedJedis)
16.3 分布式缓存实践
第17章 分布式会话
17.1 分布式会话的几种方式
17.2 黏性会话
17.3 服务器会话复制
17.4 使用缓存(spring-session-data-redis)
17.5 持久化到数据库
第18章 分布式系统权限验证
18.1 Spring Security
18.2 自定义微服务权限控制
18.3 OAuth 2.0概述
18.4 Spring Cloud Security
第四部分 微服务系统实践
第19章 远程过程调用
19.1 远程过程调用
19.2 Thrift简介
19.3 RPC小结
第20章 微服务设计和高并发实践
20.1 微服务设计原则
20.2 高并发系统的一些优化经验
20.3 简易微服务系统实例
内容提要
前 言
为什么选择Spring Cloud
为什么还要讲微服务之外的分布式系统的知识
内容安排
排版约定
目标读者
致谢
纠错、源码和课程
资源与支持
配套资源
提交勘误
与我们联系
关于异步社区和异步图书
第一部分 概述和基础
第1章 分布式和微服务概述
1.1 互联网系统的特征
1.2 分布式系统概述
1.3 分布式系统的设计原则
1.4 微服务架构
1.5 Spring Cloud
1.6 微服务系统样例简介
第2章 技术基础
2.1 Spring Boot
2.2 REST风格简介
第二部分 Spring Cloud微服务
第3章 服务治理——Eureka
3.1 服务治理中心
3.2 Eureka治理机制
3.3 Eureka配置
第4章 客户端负载均衡——Ribbon
4.1 负载均衡概述
4.2 初识Ribbon
4.3 Ribbon负载均衡器和策略
4.4 Ribbon服务实例清单维护
4.5 自定义Ribbon客户端
4.6 Ribbon使用实践
第5章 断路器——Hystrix
5.1 概述
5.2 入门实例
5.3 Hystrix工作原理
5.4 Hystrix实践
5.5 仪表盘
5.6 Hystrix属性配置
第6章 新断路器——Resilience4j
6.1 断路器(CircuitBreaker)
6.2 限速器(RateLimiter)
6.3 舱壁隔离(Bulkhead)
6.4 重试器(Retry)
6.5 缓存(Cache)
6.6 时间限制器(TimeLimiter)
6.7 组件混用
6.8 使用Spring Boot 2的配置方式
第7章 声明式调用——OpenFeign
7.1 OpenFeign的使用
7.2 配置Hystrix
7.3 使用Resilience4j调用OpenFeign接口
第8章 旧API网关——Zuul
8.1 什么是网关
8.2 Zuul入门实例
8.3 Zuul原理——过滤器
8.4 限流
8.5 动态路由
8.6 灰度发布(金丝雀发布)
8.7 使用Hystrix熔断
第9章 新网关——Spring Cloud Gateway
9.1 认识Gateway
9.2 断言(Predicate)
9.3 过滤器(Filter)概述
9.4 内置过滤器工厂
9.5 自定义过滤器
9.6 Gateway知识补充
第10章 配置——Spring Cloud Config
10.1 入门实例——使用Git仓库
10.2 使用其他方式实现配置
10.3 服务端的使用详解
第11章 Spring Cloud Sleuth全链路追踪
11.1 链路追踪的基本概念
11.2 Spring Cloud Sleuth和Zipkin
11.3 实例
11.4 持久化
第12章 微服务的监控——Spring Boot Admin
12.1 本章实例简介
12.2 URL注册方式
12.3 服务发现注册方式
12.4 使用Spring Security保护Admin服务端
第三部分 分布式技术
第13章 生成唯一的ID——发号机制
13.1 生成ID的常见办法
13.2 自定义发号机制
第14章 分布式数据库技术
14.1 基础知识
14.2 开发环境搭建
14.3 分片算法
14.4 分片中间件ShardingSphere
第15章 分布式数据库事务
15.1 强一致性事务
15.2 弱一致性事务
15.3 分布式事务应用的实践理论
第16章 分布式缓存——Redis
16.1 Redis的高可用
16.2 使用一致性哈希(ShardedJedis)
16.3 分布式缓存实践
第17章 分布式会话
17.1 分布式会话的几种方式
17.2 黏性会话
17.3 服务器会话复制
17.4 使用缓存(spring-session-data-redis)
17.5 持久化到数据库
第18章 分布式系统权限验证
18.1 Spring Security
18.2 自定义微服务权限控制
18.3 OAuth 2.0概述
18.4 Spring Cloud Security
第四部分 微服务系统实践
第19章 远程过程调用
19.1 远程过程调用
19.2 Thrift简介
19.3 RPC小结
第20章 微服务设计和高并发实践
20.1 微服务设计原则
20.2 高并发系统的一些优化经验
20.3 简易微服务系统实例