图书目录

目录

第1章初识微服务

1.1了解软件系统架构的演进

1.1.1单体架构

1.1.2垂直分布式架构

1.1.3SOA架构

1.1.4微服务架构

1.2认识Spring Cloud微服务框架

1.2.1Spring Cloud Netflix

1.2.2Spring Cloud Alibaba

1.3搭建Spring Cloud Alibaba项目

1.3.1搭建分布式项目

1.3.2分布式项目引入Spring Cloud Alibaba依赖

1.4综合案例:  Spring Cloud Alibaba初体验

1.4.1案例任务

1.4.2任务分析

1.4.3任务实施

1.5小结

1.6课后练习:  创建Spring Cloud Alibaba项目

第2章Spring Cloud Alibaba之注册中心

2.1初识Nacos

2.1.1Nacos的概念

2.1.2Nacos的基本架构

2.1.3Nacos数据模型

2.2Nacos环境搭建

2.2.1版本对应关系

2.2.2搭建Nacos服务端环境

2.2.3搭建Nacos客户端环境

2.3使用Nacos注册中心

2.3.1注册中心的CP和AP模式

2.3.2服务注册和服务发现

2.3.3注册中心基本使用

2.3.4CP模式保护阈值使用

2.3.5注册中心其他常用配置

2.4使用Nacos配置中心

2.4.1配置中心基本功能

2.4.2配置中心基本使用方法

2.4.3配置热更新的实现方式

2.5综合案例:  Nacos配置共享

2.5.1案例任务

2.5.2任务分析

2.5.3任务实施

2.6小结

2.7课后练习:  Nacos服务注册和相互调用

第3章Spring Cloud Alibaba之负载均衡

3.1初识负载均衡

3.1.1常用的负载均衡策略

3.1.2服务端负载均衡

3.1.3客户端负载均衡

3.2LoadBalancer负载均衡基本流程

3.3使用LoadBalancer

3.3.1轮询策略

3.3.2随机选择策略

3.3.3Nacos权重分配策略

3.4负载均衡机制下的分布式会话管理

3.4.1初识Spring Session

3.4.2使用Spring Session

3.5综合案例:  LoadBalancer自定义负载均衡策略

3.5.1案例任务

3.5.2任务分析

3.5.3任务实施

3.6小结

3.7课后练习:  自定义基于时间规则的负载均衡策略

第4章Spring Cloud Alibaba之服务通信

4.1微服务系统中的服务通信方式

4.2基于接口的远程服务通信——RestTemplate

4.2.1初识RestTemplate

4.2.2使用RestTemplate

4.2.3RestTemplate参数传递

4.2.4RestTemplate超时配置

4.3基于接口的远程服务通信——OpenFeign

4.3.1初识OpenFeign

4.3.2使用OpenFeign

4.3.3OpenFeign参数传递

4.3.4OpenFeign超时配置

4.3.5OpenFeign日志配置

4.3.6OpenFeign数据压缩

4.3.7OpenFeign连接优化

4.4基于消息队列的远程服务通信——RocketMQ

4.4.1什么是消息队列

4.4.2为什么需要消息队列

4.4.3RocketMQ简介

4.4.4安装RocketMQ服务端

4.4.5安装RocketMQ客户端

4.4.6使用RocketMQ

4.5综合案例:  利用OpenFeign实现简单的电商下单功能

4.5.1案例任务

4.5.2任务分析

4.5.3任务实施

4.6小结

4.7课后练习:  利用RestTemplate实现简单的电商下单功能

第5章Spring Cloud Alibaba之流量控制

5.1初识Sentinel

5.1.1Sentinel的由来

5.1.2Sentinel简介

5.1.3Sentinel对比Hystrix

5.1.4Sentinel的基本使用

5.1.5JMeter压力测试工具

5.2Sentinel规则设置

5.2.1流控规则

5.2.2熔断规则

5.2.3热点规则

5.2.4授权规则

5.2.5系统规则

5.3Sentinel自定义异常处理

5.3.1初识@SentinelResource注解

5.3.2使用@SentinelResource注解

5.3.3Sentinel统一处理限流异常

5.4服务远程通信整合Sentinel

5.4.1RestTemplate整合Sentinel

5.4.2OpenFeign整合Sentinel

5.5综合案例:  基于Nacos持久化存储Sentinel流控规则

5.5.1案例任务

5.5.2任务分析

5.5.3任务实施

5.6小结

5.7课后练习:  基于Nacos持久化存储Sentinel熔断规则

第6章Spring Cloud Alibaba之服务网关

6.1初识Gateway

6.1.1Gateway简介

6.1.2Gateway的基本使用

6.1.3Gateway整合Naocs

6.2Gateway断言的使用方法

6.2.1DateTime类型断言工厂

6.2.2Cookie类型断言工厂

6.2.3Header类型断言工厂

6.2.4Host类型断言工厂

6.2.5Method类型断言工厂

6.2.6Path类型断言工厂

6.2.7Query类型断言工厂

6.2.8RemoteAddr类型断言工厂

6.2.9Weight类型断言工厂

6.2.10自定义断言工厂

6.3Gateway过滤器的使用方法

6.3.1局部过滤器

6.3.2全局过滤器

6.4Gateway跨域设置

6.4.1全局跨域配置

6.4.2局部跨域配置

6.5Gateway整合Sentinel

6.5.1Gateway整合Sentinel实现流控

6.5.2Gateway整合Sentinel实现降级

6.6综合案例:  搭建高可用Gateway集群

6.6.1案例任务

6.6.2任务分析

6.6.3任务实施

6.7小结

6.8课后练习:  自主练习搭建高可用Gateway集群

第7章Spring Cloud Alibaba之分布式事务管理

7.1初识分布式事务

7.1.1分布式事务的由来

7.1.2分布式事务处理模型和协议

7.2初识Seata

7.2.1Seata的架构

7.2.2Seata的四种事务模式

7.3安装和使用Seata

7.3.1安装Seata服务端

7.3.2安装和使用Seata客户端

7.4综合案例:  Seata TCC模式事务管理

7.4.1案例任务

7.4.2任务分析

7.4.3任务实施

7.5小结

7.6课后练习:  Seata在网购场景下的分布式事务管理

第8章Spring Cloud Alibaba之分布式链路追踪

8.1初识SkyWalking

8.1.1SkyWalking简介

8.1.2SkyWalking架构

8.2安装部署SkyWalking

8.2.1部署SkyWalking服务端

8.2.2部署SkyWalking客户端

8.3使用SkyWalking

8.3.1初识SkyWalking的Web页面

8.3.2SkyWalking方法级的链路追踪

8.3.3SkyWalking日志收集

8.3.4SkyWalking告警功能

8.4综合案例:  SkyWalking利用邮件发送告警信息

8.4.1案例任务

8.4.2任务分析

8.4.3任务实施

8.5小结

8.6课后练习:  集成网关模块实现分布式链路追踪

第9章Spring Cloud Alibaba项目部署

9.1基于Jar部署Spring Cloud Alibaba项目

9.2基于War部署Spring Cloud Alibaba项目

9.3小结

9.4课后练习:  打包部署Spring Cloud Alibaba项目

参考文献