图书介绍
Java微服务实战pdf电子书版本下载
- 赵计刚著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121328404
- 出版时间:2017
- 标注页数:284页
- 文件大小:161MB
- 文件页数:304页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Java微服务实战PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 基础框架篇 2
第1章 微服务概述 2
1.1 初识微服务 2
1.1.1 什么是微服务 2
1.1.2 为什么需要微服务 3
1.1.3 微服务架构的缺点 4
1.2 微服务中的组件与技术选型 5
第2章 微服务基础框架 11
2.1 Spring Boot的优势 11
2.2 Spring Boot入门 11
2.2.1 搭建项目框架 11
2.2.2 开发第一个Spring Boot程序 12
2.2.3 运行Spring Boot项目 15
2.3 再学一招:使用Maven依赖树验证Spring Boot自动引包功能 16
第3章 微服务文档输出 18
3.1 Swagger概述 18
3.2 如何使用Swagger 18
3.2.1 搭建项目框架 18
3.2.2 Spring Boot集成Swagger 19
3.2.3 分析Swagger生成的API文档 24
3.2.4 使用Swagger进行接口调用 24
3.3 再学一招:使用Lombok消除POJO类模板代码 25
第4章 微服务数据库 27
4.1 单数据源 27
4.1.1 搭建项目框架 27
4.1.2 建库和建表 28
4.1.3 使用MyBatis-Generator生成数据访问层 28
4.1.4 Spring Boot集成MyBatis 30
4.2 多数据源 39
4.2.1 建库和建表 40
4.2.2 使用MyBatis-Generator生成数据访问层 41
4.2.3 结合AbstractRoutingDataSource实现动态数据源 42
4.2.4 使用AOP简化数据源选择功能 48
4.2.5 实现多数据源的步骤总结 49
4.3 再学一招:MyBatis-Generator基本用法 50
第5章 微服务缓存系统 53
5.1 常用的缓存技术 53
5.1.1 本地缓存与分布式缓存 53
5.1.2 Memcached与Redis 54
5.2 Redis 2.x客户端分片 54
5.2.1 安装Redis 54
5.2.2 Spring Boot集成ShardJedis 55
5.3 Redis 3.x集群 60
5.3.1 搭建Redis集群 60
5.3.2 Spring Boot集成JedisCluster 63
5.3.3 JedisCluster关键源码解析 65
5.4 再学一招:使用GuavaCache实现本地缓存 67
第6章 Spring Boot启动源码解析 70
6.1 创建SpringApplication实例 71
6.1.1 判断是否是Web环境 72
6.1.2 创建并初始化ApplicationInitializer列表 72
6.1.3 创建并初始化ApplicationListener列表 75
6.1.4 初始化主类mainApplicationClass 76
6.2 添加自定义监听器 76
6.3 启动核心run方法 77
6.3.1 创建启动停止计时器 78
6.3.2 配置awt系统属性 79
6.3.3 获取SpringApplicationRunListeners 80
6.3.4 启动SpringApplicationRunListener 81
6.3.5 创建ApplicationArguments 81
6.3.6 创建并初始化ConfigurableEnvironment 82
6.3.7 打印Banner 88
6.3.8 创建ConfigurableApplicationContext 88
6.3.9 准备ConfigurableApplicationContext 90
6.3.10 刷新ConfigurableApplicationContext 92
6.3.11 容器刷新后动作 94
6.3.12 SpringApplicationRunListeners发布finish事件 95
6.3.13 计时器停止计时 95
6.4 再学一招:常用的获取属性的4种方法 95
第2篇 服务框架篇 98
第7章 微服务注册与发现 98
7.1 初识Consul 98
7.2 搭建Consul集群 99
7.2.1 安装Consul 99
7.2.2 启动Consul集群 99
7.2.3 启动Consul-UI 101
7.3 使用Consul实现服务注册与服务发现 102
7.3.1 搭建项目框架 102
7.3.2 配置服务注册信息 104
7.3.3 实现服务启动注册 106
7.3.4 实现服务发现 108
7.4 服务部署测试 110
7.4.1 编写测试类 110
7.4.2 服务打包部署 111
7.4.3 运行测试 113
7.5 使用Consul与Actuator实现健康检查 113
7.5.1 健康检查机制 113
7.5.2 健康检查查错思路 113
7.6 再学一招:Consul健康检查分类及原理 114
第8章 微服务配置管理 116
8.1 初识Archaius 116
8.1.1 为什么要使用Archaius 116
8.1.2 Archaius原理 116
8.2 使用Consul-KV实现配置集中管理 117
8.3 使用Archaius实现动态获取配置 118
8.3.1 搭建项目框架 118
8.3.2 创建配置信息读取源 120
8.3.3 实现服务启动时读取配置信息 122
8.3.4 动态获取配置信息 124
8.3.5 将配置信息动态加入Spring属性源的思路 125
8.4 再学一招:Archaius关键源码解析 125
8.4.1 构造动态属性源 125
8.4.2 动态获取属性 129
第9章 微服务进程间通信 131
9.1 常见的三种服务通信技术 131
9.2 创建一个简单的被调用服务 132
9.2.1 搭建项目框架 132
9.2.2 实现一个简单的被调用接口 134
9.3 使用OkHttp实现服务通信 136
9.3.1 搭建项目框架 136
9.3.2 创建OkHttp调用实体类 137
9.3.3 实现服务通信功能 138
9.3.4 Spring Boot指定服务启动端口的三种方式 140
9.4 使用AsyncHttpClient实现服务通信 141
9.4.1 搭建项目框架 141
9.4.2 创建AsyncHttpClient调用实体类 141
9.4.3 实现服务通信功能 142
9.5 使用Retrofit实现服务通信 143
9.5.1 搭建项目框架 143
9.5.2 创建调用接口并实例化接口 143
9.5.3 实现服务通信功能 145
9.6 再学一招:Retrofit源码解析 145
9.6.1 构造RestAdapter 146
9.6.2 初始化RestAdapterBuilder属性 148
9.6.3 创建RestAdapter实例 151
9.6.4 构造请求方法的接口类 152
9.6.5 校验service接口的合法性 153
9.6.6 使用动态代理创建对象 154
9.6.7 进行请求调用 154
9.6.8 获取RestMethodInfo实例 156
9.6.9 进行方法调用 156
9.6.10 加载RestMethodInfo的剩余属性 158
9.6.11 构建请求参数retrofit.client.Request 162
9.6.12 利用clientProvider进行真正的调用 163
9.6.13 处理响应 164
第10章 微服务降级容错 165
10.1 初识Hystrix 165
10.1.1 为什么要使用Hystrix 165
10.1.2 Hystrix工作原理 166
10.1.3 Hystrix执行流程 168
10.2 使用Hystrix实现服务降级容错 169
10.2.1 搭建项目框架 169
10.2.2 创建AsyncHttpClient调用实体类 172
10.2.3 服务通信框架集成服务降级容错功能 173
10.2.4 验证服务降级容错功能 175
10.3 搭建Hystrix监控系统 178
10.3.1 使用Hystrix-Metrics-Event-Stream发布监控信息 178
10.3.2 使用Hystrix-Dashboard展示监控信息 179
10.3.3 使用Turbine聚合监控信息 181
10.4 再学一招:Hystrix常用配置 186
10.4.1 设置配置参数的两种方法 186
10.4.2 常见配置项的配置方式 186
第3篇 监控部署篇 190
第11章 微服务日志系统 190
11.1 初识ELK 190
11.1.1 为什么要用ELK 190
11.1.2 ELK最常用的两种架构 191
11.2 搭建ELK系统 192
11.2.1 安装配置启动Redis 193
11.2.2 安装配置启动Elasticsearch 193
11.2.3 安装配置启动Logstash-Shipper 195
11.2.4 安装配置启动Logstash-Indexer 197
11.2.5 安装配置启动Kibana 198
11.3 使用LogbackAppender发送日志 199
11.3.1 搭建项目框架 199
11.3.2 配置logback.xml文件 201
11.3.3 创建LogbackAppender发送日志 202
11.3.4 验证日志输出查询功能 204
11.4 Kibana常见用法 206
11.4.1 日期选择 206
11.4.2 自动刷新 207
11.4.3 查询语法 207
11.5 再学一招:使用Curator定时删除日志 208
11.5.1 安装Curator 208
11.5.2 配置Curator 209
11.5.3 配置crontab定时任务 211
11.5.4 验证定时任务 211
第12章 微服务全链路追踪系统 213
12.1 初识Zipkin 213
12.1.1 为什么要使用Zipkin 213
12.1.2 Zipkin工作流程 214
12.1.3 Zipkin数据模型 216
12.1.4 Zipkin工作原理 216
12.2 使用Zipkin搭建全链路追踪系统 218
12.3 使用Brave+AsyncHttpClient实现全链路追踪 220
12.3.1 搭建项目框架 220
12.3.2 使用服务端拦截器补充追踪信息 222
12.3.3 使用客户端拦截器创建、销毁追踪信息 226
12.3.4 使用Zipkin-webUI查询链路追踪信息 228
12.4 使用MySQL持久化追踪信息 230
12.4.1 创建三张追踪信息表 230
12.4.2 使用Brave-MySQL存储追踪信息 233
12.5 使用Brave-OkHttp实现全链路追踪 233
12.5.1 搭建项目框架 234
12.5.2 使用服务端与客户端拦截器收集追踪信息 236
12.6 再学一招:Brave关键源码解析 239
12.6.1 span的生命周期 239
12.6.2 使用reporter创建span 240
12.6.3 使用collector收集span 245
12.6.4 使用collector发送span 247
第13章 微服务持续集成与持续部署系统 251
13.1 初识持续集成与持续部署系统 251
13.2 系统总体架构 252
13.2.1 初识GitLab 252
13.2.2 初识Jenkins 253
13.2.3 初识Docker-Regsitry 253
13.3 持续集成与持续部署系统工作原理 253
13.3.1 使用jar包部署项目的整体流程 253
13.3.2 使用Docker镜像部署项目的整体流程 253
13.4 搭建持续集成与持续部署系统 254
13.4.1 安装启动Docker 254
13.4.2 安装配置启动GitLab 255
13.4.3 安装启动Jenkins 257
13.4.4 配置Jenkins全局信息与安装插件 259
13.4.5 安装配置启动Docker-Registry 260
13.5 使用jar包方式部署服务 261
13.5.1 搭建项目框架 261
13.5.2 使用GitLab创建组和项目 263
13.5.3 使用GitLab管理代码 266
13.5.4 使用Jenkins编译打包服务 267
13.5.5 使用webhook实现服务的持续集成 270
13.5.6 使用Jenkins+Shell实现服务的持续部署 272
13.6 使用Docker镜像方式部署服务 276
13.6.1 搭建项目框架 276
13.6.2 编写Dockerfile文件创建镜像 278
13.6.3 通过Jenkins+Shell使用镜像实现持续部署 279
13.6.4 分析Jenkins构建日志 280
13.7 再学一招:Docker常用命令 281