图书介绍
Spring Cloud微服务全栈技术与案例解析PDF|Epub|txt|kindle电子书版本网盘下载
![Spring Cloud微服务全栈技术与案例解析](https://www.shukui.net/cover/7/31378718.jpg)
- 尹吉欢著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111601555
- 出版时间:2018
- 标注页数:320页
- 文件大小:35MB
- 文件页数:335页
- 主题词:互联网络-网络服务器
PDF下载
下载说明
Spring Cloud微服务全栈技术与案例解析PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 准备篇2
第1章 Spring Cloud与微服务概述2
1.1 传统的单体应用2
1.1.1 改进单体应用的架构2
1.1.2 向微服务靠拢3
1.2 什么是微服务4
1.2.1 使用微服务架构的优势和劣势4
1.2.2 重构前的准备工作5
1.3 什么是Spring Cloud5
1.3.1 Spring Cloud模块介绍5
1.3.2 Spring Cloud版本介绍6
1.4 本章小结7
第2章 实战前的准备工作8
2.1 开发环境的准备8
2.2 Spring Boot入门9
2.2.1 Spring Boot简介9
2.2.2 搭建Spring Boot项目9
2.2.3 编写第一个REST接口11
2.2.4 读取配置文件11
2.2.5 profiles多环境配置13
2.2.6 热部署13
2.2.7 actuator监控15
2.2.8 统一异常处理16
2.2.9 异步执行18
2.2.10 随机端口21
2.3 本章小结23
第二部分 基础篇26
第3章 Eureka注册中心26
3.1 Eureka26
3.2 使用Eureka编写注册中心服务27
3.3 编写服务提供者29
3.3.1 创建项目注册到Eureka29
3.3.2 编写提供接口30
3.4 编写服务消费者31
3.4.1 直接调用接口31
3.4.2 通过Eureka来消费接口32
3.5 开启Eureka认证33
3.6 Eureka高可用搭建33
3.6.1 高可用原理33
3.6.2 搭建步骤34
3.7 常用配置讲解35
3.7.1 关闭自我保护35
3.7.2 自定义Eureka的Instance ID35
3.7.3 自定义实例跳转链接36
3.7.4 快速移除已经失效的服务信息37
3.8 扩展使用38
3.8.1 Eureka REST API38
3.8.2 元数据使用40
3.8.3 EurekaClient使用41
3.8.4 健康检查43
3.8.5 服务上下线监控45
3.9 本章小结46
第4章 客户端负载均衡Ribbon47
4.1 Ribbon47
4.1.1 Ribbon模块47
4.1.2 Ribbon使用48
4.2 RestTemplate结合Ribbon使用49
4.2.1 使用RestTemplate与整合Ribbon49
4.2.2 RestTemplate负载均衡示例52
4.2.3 @LoadBalanced注解原理53
4.2.4 RibbonAPI使用57
4.2.5 Ribbon饥饿加载58
4.3 负载均衡策略介绍59
4.4 自定义负载策略60
4.5 配置详解61
4.5.1 常用配置61
4.5.2 代码配置Ribbon62
4.6 重试机制63
4.7 本章小结64
第5章 声明式REST客户端Feign65
5.1 使用Feign调用服务接口65
5.1.1 在SpringCloud中集成Feign66
5.1.2 使用Feign调用接口66
5.2 自定义Feign的配置67
5.2.1 日志配置67
5.2.2 契约配置69
5.2.3 Basic认证配置69
5.2.4 超时时间配置70
5.2.5 客户端组件配置71
5.2.6 GZIP压缩配置72
5.2.7 编码器解码器配置72
5.3 脱离Spring Cloud使用Feign73
5.3.1 原生注解方式73
5.3.2 构建Feign对象74
5.3.3 其他配置75
5.4 本章小结76
第6章 Hystrix服务容错处理77
6.1 Hystrix77
6.1.1 Hystrix的简单使用77
6.1.2 回退支持78
6.1.3 信号量策略配置79
6.1.4 线程隔离策略配置79
6.1.5 结果缓存80
6.1.6 缓存清除81
6.1.7 合并请求83
6.2 在Spring Cloud中使用Hystrix84
6.2.1 简单使用84
6.2.2 配置详解85
6.2.3 Feign整合Hystrix服务容错88
6.2.4 Feign中禁用Hystrix90
6.3 Hystrix监控91
6.4 整合Dashboard查看监控数据92
6.5 Turbine聚合集群数据94
6.5.1 Turbine使用94
6.5.2 context-path导致监控失败95
6.6 本章小结95
第7章 API网关96
7.1 Zuul简介96
7.2 使用Zuul构建微服务网关97
7.2.1 简单使用97
7.2.2 集成Eureka98
7.3 Zuul路由配置98
7.4 Zuul过滤器讲解99
7.4.1 过滤器类型100
7.4.2 请求生命周期100
7.4.3 使用过滤器101
7.4.4 过滤器禁用103
7.4.5 过滤器中传递数据103
7.4.6 过滤器拦截请求104
7.4.7 过滤器中异常处理106
7.5 Zuul容错和回退108
7.5.1 容错机制108
7.5.2 回退机制109
7.6 Zuul高可用111
7.7 本章小结111
第三部分 实战篇114
第8章 分布式配置管理114
8.1 自研配置管理框架Smconf简介114
8.2 Smconf工作原理115
8.3 Smconf部署116
8.3.1 Mongodb安装116
8.3.2 Zookeeper安装117
8.3.3 SmconfServer部署118
8.4 项目中集成Smconf119
8.4.1 集成Smconf119
8.4.2 使用Smconf120
8.4.3 配置更新回调121
8.5 Smconf详细使用122
8.5.1 源码编译问题122
8.5.2 后台账号管理122
8.5.3 REST API123
8.6 Smconf源码解析125
8.6.1 Client启动125
8.6.2 启动加载配置127
8.6.3 配置修改推送原理128
8.7 本章小结129
第9章 Sleuth服务跟踪130
9.1 Spring Cloud集成Sleuth130
9.2 整合Logstash131
9.2.1 ELK简介131
9.2.2 输出JSON格式日志131
9.3 整合Zipkin133
9.3.1 创建Zipkin数据收集服务133
9.3.2 项目集成Zipkin发送调用链数据134
9.3.3 抽样采集数据135
9.3.4 用RabbitMq代替Http发送调用链数据135
9.3.5 用Elasticsearch存储调用链数据136
9.4 本章小结137
第10章 微服务之间调用的安全认证138
10.1 什么是JWT138
10.2 创建统一的认证服务139
10.2.1 表结构139
10.2.2 JWT工具类封装139
10.2.3 认证接口141
10.3 服务提供方进行调用认证142
10.4 服务消费方申请Token143
10.5 Feign调用前统一申请Token传递到调用的服务中145
10.6 Zuul中传递Token到路由的服务中147
10.7 本章小结148
第11章 Spring Boot Admin149
11.1 Spring Boot Admin的使用方法149
11.1.1 创建Spring BootAdmin项目149
11.1.2 将服务注册到Spring Boot Admin150
11.1.3 如何在Admin中查看各个服务的日志151
11.2 开启认证152
11.3 集成Eureka153
11.4 集成Turbine154
11.5 监控服务155
11.5.1 邮件警报156
11.5.2 自定义钉钉警报156
11.6 本章小结159
第12章 服务的API文档管理160
12.1 Swagger简介160
12.2 集成Swagger管理API文档161
12.2.1 封装Swagger Starter161
12.2.2 在项目中集成Swagger starter162
12.2.3 使用Swagger生成文档162
12.2.4 在线测试接口163
12.3 Swagger注解164
12.4 Eureka控制台快速查看Swagger文档169
12.5 本章小结169
第四部分 高级篇172
第13章 API网关扩展172
13.1 用户认证172
13.1.1 动态管理不需要拦截的API请求172
13.1.2 创建认证的用户服务174
13.1.3 路由之前的认证175
13.1.4 向下游微服务中传递认证之后的用户信息176
13.1.5 内部服务间的用户信息传递177
13.2 服务限流179
13.2.1 限流算法179
13.2.2 单节点限流179
13.2.3 集群限流184
13.2.4 具体服务限流187
13.2.5 具体接口限流188
13.3 服务降级194
13.4 灰度发布196
13.4.1 原理讲解196
13.4.2 根据用户做灰度发布197
13.4.3 根据IP做灰度发布200
13.5 本章小结200
第14章 微服务之缓存201
14.1 Guava Cache本地缓存201
14.1.1 Guava Cache简介201
14.1.2 代码示例202
14.1.3 回收策略202
14.2 Redis缓存203
14.2.1 用Redistemplate操作Redis203
14.2.2 用Repository操作Redis204
14.2.3 Spring Cache缓存数据206
14.2.4 扩展Spring Cache支持对每个缓存的时间配置211
14.2.5 缓存异常处理212
14.2.6 自定义缓存工具类214
14.3 防止缓存穿透方案216
14.3.1 什么是缓存穿透216
14.3.2 缓存穿透的危害216
14.3.3 解决方案217
14.3.4 布隆过滤器介绍217
14.3.5 代码示例217
14.4 防止缓存雪崩方案219
14.4.1 什么是缓存雪崩219
14.4.2 缓存雪崩的危害219
14.4.3 解决方案219
14.4.4 代码示例219
14.4.5 分布式锁方式220
14.5 本章小结221
第15章 微服务之存储222
15.1 存储选型222
15.2 Mongodb223
15.2.1 集成Spring Data Mongodb223
15.2.2 添加数据操作223
15.2.3 索引使用225
15.2.4 修改数据操作227
15.2.5 删除数据操作228
15.2.6 查询数据操作229
15.2.7 GridFS操作231
15.2.8 用Repository方式操作数据232
15.2.9 自增ID实现236
15.2.10 批量更新扩展239
15.3 Mysql243
15.3.1 集成Spring Jdbc Template243
15.3.2 Jdbc Template代码示例243
15.3.3 封装Jdbc Template操作Mysql更简单244
15.3.4 扩展Jdbc Template使用方式244
15.3.5 常见问题248
15.4 Elasticsearch251
15.4.1 集成Spring Data Elasticsearch251
15.4.2 Repository示例251
15.4.3 ElasticsearchTemplate示例254
15.4.4 索引构建方式257
15.5 本章小结259
第16章 微服务之分布式事物解决方案260
16.1 两阶段型260
16.2 TCC补偿型261
16.3 最终一致性261
16.3.1 原理讲解261
16.3.2 创建可靠性消息服务263
16.3.3 消息存储表设计264
16.3.4 提供服务接口265
16.3.5 创建消息发送系统269
16.3.6 消费消息逻辑273
16.3.7 消息管理系统275
16.4 最大努力通知型事物276
16.4.1 介绍276
16.4.2 原理276
16.5 本章小结276
第17章 分布式任务调度277
17.1 Elastic-Job277
17.1.1 Elastic-Job介绍277
17.1.2 任务调度目前存在的问题277
17.1.3 为什么选择Elastic-Job278
17.2 快速集成279
17.3 任务使用280
17.3.1 简单任务280
17.3.2 数据流任务281
17.3.3 脚本任务282
17.4 配置参数讲解282
17.4.1 注册中心配置283
17.4.2 作业配置283
17.4.3 dataflow独有配置284
17.4.4 script独有配置284
17.5 多节点并行调度285
17.5.1 分片概念285
17.5.2 任务节点分片策略285
17.5.3 业务数据分片处理286
17.6 事件追踪289
17.7 扩展功能290
17.7.1 自定义监听器290
17.7.2 定义异常处理291
17.8 运维平台291
17.8.1 功能列表292
17.8.2 部署运维平台292
17.8.3 运维平台使用293
17.9 使用经验分享296
17.9.1 任务的划分和监控296
17.9.2 任务的扩展性和节点数量297
17.9.3 任务的重复执行297
17.9.4 overwrite覆盖问题298
17.9.5 流水式任务298
17.10 本章小结299
第18章 分库分表解决方案300
18.1 Sharding-JDBC300
18.1.1 介绍300
18.1.2 功能列表301
18.1.3 相关概念301
18.2 快速集成302
18.3 读写分离实战304
18.3.1 准备数据304
18.3.2 配置读写分离304
18.3.3 验证读从库305
18.3.4 验证写主库307
18.3.5 Hint强制路由主库308
18.4 分库分表实战309
18.4.1 常用分片算法310
18.4.2 使用分片算法310
18.4.3 不分库只分表实战311
18.4.4 既分库又分表实战314
18.5 分布式主键317
18.6 本章小结319