微服务分布式架构基础与实战——基于Spring Boot + Spring Cloud
¥
4
九五品
仅1件
作者张方兴
出版社电子工业出版社
出版时间2020-03
版次1
装帧其他
上书时间2024-07-09
商品详情
- 品相描述:九五品
图书标准信息
-
作者
张方兴
-
出版社
电子工业出版社
-
出版时间
2020-03
-
版次
1
-
ISBN
9787121384134
-
定价
59.00元
-
装帧
其他
-
开本
16开
-
纸张
胶版纸
-
页数
272页
-
字数
436千字
- 【内容简介】
-
微服务分布式架构的内容更新迭代速度极快,2018年6月开始就有许多微服务分布式的数据,但是到2019年已经跟不上Spring Cloud的版本了,过去大多数数据Spring Cloud都用Eureka作为注册中心,而Spring 官方已经在Spring Cloud Eureka 2.0以后宣布停止了Spring Cloud Eureka的更新计划,废弃该项目并将Consul作为Spring Cloud的注册中心。另外大多数书籍的网关依旧使用的Spring Cloud Zuul,但是目前Spring 已经逐渐废弃Spring Cloud Zuul,而是让Spring Cloud Gateway接替他的网关位置。市面上的同类书的技术将没有将此内容更新。另外本书从分布式架构程序的方式角度进行讲解,包括分布式任务调度、分布式事务管理,重点提及了这部分的实战与思想。很多书只是用来教导框架构架,而本书则希望通过框架让读者认识分布式的具体操作方法。本书以案例任务模式主要介绍了Spring Boot微服务的持久化、缓存、缓存同步、队列,Spring Cloud的新版注册中心Consul、新版网关Spring Cloud Gateway、Spring Cloud分布式通讯、共享信息、单点登录、鉴权等相关内容。
- 【作者简介】
-
张方兴,多年从事Java编程工作,参与多个项目的研发工作,精通Java编程与SSM技术。
- 【目录】
-
第1章 微服务分布式架构设计原理 1
1.1 Java Web应用程序的发展历史 1
1.2 微服务分布式 2
1.2.1 Spring Boot微服务的定义和特点 3
1.2.2 Spring Boot的职场导读 3
1.2.3 Spring部分内容 4
1.2.4 微服务的拆分 6
1.3 【实例】微服务工程Hello World 7
1.3.1 实例背景 7
1.3.2 创建Maven Project 7
1.3.3 使用空Maven Project模板 7
1.3.4 编辑Maven坐标定位及工程名 8
1.3.5 检查Maven目录结构 9
1.3.6 编写Pom文件 10
1.3.7 Spring Boot依赖包的导入 12
1.3.8 编写Spring Boot启动类 14
1.3.9 编写Spring Boot接口 14
1.3.10 当前项目结构 14
1.3.11 启动工程 15
1.3.12 Spring Boot初始化启动后 16
1.3.13 实例易错点 16
1.4 Spring Boot启动类扫描Bean 18
1.4.1 @SpringBootApplication注解 18
1.4.2 @ComponentScan注解 20
1.4.3 Spring Boot扫描其他包下文件 20
1.5 【实例】将端口号改成9090 21
1.5.1 实例背景 21
1.5.2 创建application.properties资源配置
文件 22
1.5.3 增加资源配置文件中的配置信息 23
1.5.4 运行结果 23
1.5.5 实例易错点 23
1.6 YAML文件 24
1.6.1 YAML文件简介 25
1.6.2 YAML文件的书写格式 25
1.7 【实例】使用YAML配置文件 25
1.7.1 实例背景 25
1.7.2 原properties文件 25
1.7.3 转换格式后的YAML文件 26
1.7.4 实例易错点 26
1.8 【实例】通过单配置文件让工程
适应多应用场景 27
1.8.1 实例背景 27
1.8.2 更改application.yml文件 27
1.8.3 更改启动类 27
1.8.4 输入启动参数 29
1.8.5 运行结果 30
1.8.6 实例易错点 30
1.9 【实例】通过多配置文件使工程
适应多应用场景 31
1.9.1 实例背景 31
1.9.2 新建SIT和UAT环境所需资源
配置文件 31
1.9.3 新建系统资源配置文件 31
1.9.4 编写启动类 31
1.9.5 当前项目结构 32
1.9.6 运行结果 32
1.10 微服务配置权重 32
1.10.1 资源配置信息类型的权重 32
1.10.2 资源配置文件类型的权重 33
1.10.3 资源配置文件存在位置与权重
解读 33
1.11 本章小结 34
1.12 习题 34
第2章 分布式的注册中心 35
2.1 注册中心 35
2.1.1 Eureka与Consul的区别 35
2.1.2 Consul的相关术语 37
2.1.3 Consul的安装 37
2.2 Consul的常用命令 37
2.2.1 consul agent -dev 38
2.2.2 consul -members 39
2.2.3 consul leave 40
2.2.4 agent命令的常用配置参数 40
2.2.5 HTTP API 41
2.3 【实例】创建第一个微服务分布式
项目 42
2.3.1 实例背景 42
2.3.2 搭建Consul集群 42
2.3.3 创建微服务工程编写相应依赖
文件 45
2.3.4 Spring Cloud和Spring Boot的
版本对应关系 46
2.3.5 编写微服务YAML资源配置文件 46
2.3.6 编写微服务启动类注册到
Consul上 48
2.3.7 当前项目结构 48
2.3.8 运行结果 49
2.3.9 实例易错点 50
2.4 【实例】通过代码获取Consul中的
服务信息 51
2.4.1 实例背景 51
2.4 2 编写获得其他注册服务的代码 52
2.4 3 运行结果 53
2.4.4 实例易错点 53
2.5 【实例】Spring Cloud操作Consul
的K/V存储 54
2.5.1 实例背景 54
2.5.2 添加依赖 54
2.5.3 利用Consul的UI界面添加K/V
存储 54
2.5.4 编写YAML资源配置文件对应
K/V存储 55
2.5.5 编写MyConfig.java文件对应
相关K/V存储 56
2.5.6 调用MyConfig.java中的参数 57
2.5.7 在启动类引用相关配置 57
2.5.8 当前项目结构 58
2.5.9 运行结果 58
2.5.10 实例易错点 60
2.6 本章小结 60
2.7 习题 60
第3章 分布式的通信 61
3.1 分布式通信 61
3.1.1 Spring Cloud Feign 61
3.1.2 Swagger 61
3.2 【实例】微服务集成Swagger 62
3.2.1 实例背景 62
3.2.2 编写Swagger依赖 62
3.2.3 编写Swagger配置 63
3.2.4 编写接口与接口处的Swagger
配置 64
3.2.5 当前项目结构 66
3.2.6 运行效果 66
3.2.7 实例易错点 70
3.3 【实例】Feign调用微服务接口 72
3.3.1 实例背景 72
3.3.2 引入相关配置信息 73
3.3.3 编写Feign客户端 73
3.3.4 编写调用 75
3.3.5 编写启动类 76
3.3.6 当前项目结构 76
3.3.7 运行结果 77
3.3.8 实例易错点 77
3.4 【实例】Feign的拦截器 78
3.4.1 实例背景 78
3.4.2 在cloud-admin-8084工程中增加
拦截器 78
3.4.3 当前项目结构 79
3.4.4 运行结果 79
3.4.5 实例易错点 80
3.5 Feign的配置 81
3.5.1 传输数据压缩配置 81
3.5.2 日志配置 82
3.5.3 超时配置 83
3.6 【实例】Feign的降级回退处理
——Feign的Fallback类 84
3.6.1 实例背景 84
3.6.2 在资源配置文件中开启Feign内置
的Hystrix权限 84
3.6.3 编写Fallback降级类 84
3.6.4 Service整合Fallback降级类 84
3.6.5 当前项目结构 85
3.6.6 运行结果 85
3.7 【实例】Feign的降级回退处理
——Feign的Fallback工厂 86
3.7.1 实例背景 86
3.7.2 编写Fallback降级工厂 86
3.7.3 整合Fallback降级工厂 87
3.7.4 实例易错点 87
3.8 本章小结 88
3.9 习题 88
第4章 分布式的客户端负载均衡 89
4.1 负载均衡 89
4.1.1 传统服务器端负载均衡 89
4.1.2 Ribbon客户端负载均衡 89
4.2 【实例】Feign整合Ribbon分发
请求 90
4.2.1 实例背景 90
4.2.2 编写cloud-book-8086启动类与
配置类支持Ribbon 91
4.2.3 Service和Controller 92
4.2.4 当前项目结构 94
4.2.5 运行效果 95
4.2.6 实例易错点 96
4.3 Ribbon的负载均衡策略配置 97
4.4 本章小结 98
4.5 习题 98
第5章 分布式的断路器 99
5.1 断路器 99
5.1.1 为什么需要断路器 99
5.1.2 Hystrix 99
5.1.3 Hystrix解决的问题 100
5.1.4 Hystrix如何解决问题 100
5.2 【实例】Hystrix断路器的降级
回退 101
5.2.1 实例背景 101
5.2.2 编写相关Pom文件 101
5.2.3 编写application资源配置文件 101
5.2.4 编写Ribbon配置类 102
5.2.5 编写启动类 102
5.2.6 编写Service类 103
5.2.7 编写Controller类 103
5.2.8 当前项目结构 104
5.2.9 运行结果 105
5.2.10 实例易错点 106
5.3 Hystrix线程池 108
5.3.1 Hystrix断路器注解式的命令
配置 109
5.3.2 Hystrix断路器的注解式线程池
配置 111
5.3.3 Hystrix断路器注解式的整体
定制配置 112
5.3.4 Hystrix断路器资源配置式的
整体定制配置 113
5.4 【实例】Hystrix断路器的请求
缓存 114
5.4.1 实例背景 114
5.4.2 通过Filter初始化Hystrix
上下文 114
5.4.3 让启动类扫描Filter过滤器 116
5.4.4 编写Controller的Helper类 116
5.4.5 编写Controller类 118
5.4.6 当前项目结构 118
5.4.7 运行结果 119
5.4.8 销毁Hystrix的请求缓存 121
5.4.9 实例易错点 121
5.5 【实例】Hystrix的请求合并 123
5.5.1 实例背景 123
5.5.2 增加@HystrixCollapser请求合并
修饰的函数 124
5.5.3 Controller中调用请求合并函数 126
5.5.4 当前项目结构 126
5.5.5 运行结果 127
5.5.6 实例易错点 128
5.6 【实例】Hystrix的可视化监控 129
5.6.1 实例背景 129
5.6.2 Hystrix可视化监控的依赖 129
5.6.3 Hystrix可视化监控的启动类 129
5.6.4 被监控的微服务增加响应地址 130
5.6.5 当前项目结构 131
5.6.6 运行结果 132
5.6.7 实例易错点 134
5.7 本章小结 135
5.8 习题 135
第6章 微服务的异步线程池 136
6.1 异步线程池 136
6.1.1 异步线程池特点 136
6.1.2 常见的线程池 136
6.2 【实例】创建无返回值异步线
程池 137
6.2.1 实例背景 137
6.2.2 编写Pom文件 137
6.2.3 编写Spring Boot启动类 138
6.2.4 编写异步线程池任务接口与
实现 138
6.2.5 编写外部可调用接口 139
6.2.6 当前项目结构 140
6.2.7 运行程序查看异步线程池效果 140
6.2.8 实例易错点 141
6.3 【实例】创建有返回值异步
线程池 141
6.3.1 实例背景 141
6.3.2 增加新的服务接口 141
6.3.3 增加新的服务实现 141
6.3.4 增加新的调用 142
6.3.5 当前项目结构 142
6.3.6 运行程序查看异步线程池效果 142
6.3.7 实例易错点 143
6.4 【实例】优化异步线程池 143
6.4.1 实例背景 143
6.4.2 创建初始化线程池配置类 143
6.4.3 更改无返回值的异步线程池
Service实现类 145
6.4.4 运行程序查看异步线程池效果 145
6.4.5 实例易错点 146
6.5 【实例】优雅停止异步线程池 146
6.5.1 实例背景 146
6.5.2 何为“优雅” 146
6.5.3 修改原Config配置类 147
6.5.4 修改原Controller控制层 148
6.5.5 当前项目结构 149
6.5.6 优雅停
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价