当前位置:主页 > 计算机电子书 > Java > Java实战 pdf电子书
Java微服务实战

Java微服务实战 PDF 全书超清版

  • 更新:2019-09-26
  • 大小:43.2MB
  • 类别:Java实战
  • 作者:赵计刚
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

Java微服务实战》是由电子工业出版社出版的一本关于Java实战方面的书籍,作者是赵计刚,主要介绍了关于Java、微服务、Java实战方面的知识内容,目前在Java实战类书籍综合评分为:8.6分。

书籍介绍

Java微服务实战 PDF

这书分成三一部分:基本架构篇(1~6章)、服务项目架构篇(7~10章)、监控器布署篇(11~13章),循序渐进来解读微服务的有关技术性。基本架构篇从分布式架构的基本要素与技术性电机选型来看,详尽的详细介绍了微服务基本架构SpringBoot、自动化技术API文本文档转化成专用工具Swagger、动态性数据库和缓存文件系统软件,并深层次的剖析了SpringBoot起动全过程的关键源代码,这部分是一本书的基本;服务项目架构篇详尽的详细介绍了服务项目申请注册与发觉架构Consul、热配置管理架构Archaius、服务项目退级试错架构Hystrix,及其服务项目通讯架构OkHttp、AsyncHttpClient和Retrofit,这部分是一本书的关键;监控器布署篇详尽的详细介绍了ELK系统日志系统软件的保持、Zipkin全外链跟踪系统软件的保持,*后详细介绍了持续集成与不断布署系统软件的保持,这部分是开发设计运维管理的一部分。

目录

  • 第1章 微服务概述 1
  • 1.1 初识微服务 1
  • 1.1.1 什么是微服务 1
  • 1.1.2 为什么需要微服务 2
  • 1.1.3 微服务架构的缺点 3
  • 1.2 微服务中的组件与技术选型 4
  • 第2章 微服务基础框架 10
  • 2.1 SpringBoot的优势 10
  • 2.2 SpringBoot入门 10
  • 2.2.1 搭建项目框架 10
  • 2.2.2 开发第一个SpringBoot程序 11
  • 2.2.3 运行SpringBoot项目 14
  • 2.3 再学一招:使用Maven依赖树验证SpringBoot自动引包功能 15
  • 第3章 微服务文档输出 17
  • 3.1 Swagger概述 17
  • 3.2 如何使用Swagger 17
  • 3.2.1 搭建项目框架 17
  • 3.2.2 SpringBoot集成Swagger 18
  • 3.2.3 分析Swagger生成的API文档 23
  • 3.2.4 使用Swagger进行接口调用 23
  • 3.3 再学一招:使用Lombok消除POJO类模板代码 24
  • 第4章 微服务数据库 26
  • 4.1 单数据源 26
  • 4.1.1 搭建项目框架 26
  • 4.1.2 建库和建表 27
  • 4.1.3 使用Mybatis-Generator生成数据访问层 27
  • 4.1.4 SpringBoot集成Mybatis 29
  • 4.2 多数据源 38
  • 4.2.1 建库和建表 39
  • 4.2.2 使用Mybatis-Generator生成数据访问层 40
  • 4.2.3 结合AbstractRoutingDataSource实现动态数据源 41
  • 4.2.4 使用AOP简化数据源选择功能 47
  • 4.2.5 实现多数据源的步骤总结 48
  • 4.3 再学一招:Mybatis-Generator基本用法 49
  • 第5章 微服务缓存系统 52
  • 5.1 常用的缓存技术 52
  • 5.1.1 本地缓存与分布式缓存 52
  • 5.1.2 Memcached与Redis 53
  • 5.2 Redis2.x客户端分片 53
  • 5.2.1 安装Redis 53
  • 5.2.2 SpringBoot集成ShardJedis 54
  • 5.3 Redis3.x集群 59
  • 5.3.1 搭建Redis集群 59
  • 5.3.2 SpringBoot集成JedisCluster 62
  • 5.3.3 JedisCluster关键源码解析 64
  • 5.4 再学一招:使用GuavaCache实现本地缓存 66
  • 第6章 SpringBoot启动源码解析 69
  • 6.1 创建SpringApplication实例 70
  • 6.1.1 判断是否是Web环境 71
  • 6.1.2 创建并初始化ApplicationInitializer列表 71
  • 6.1.3 创建并初始化ApplicationListener列表 74
  • 6.1.4 初始化主类mainApplicationClass 75
  • 6.2 添加自定义监听器 75
  • 6.3 启动核心run方法 76
  • 6.3.1 创建启动停止计时器 77
  • 6.3.2 配置awt系统属性 78
  • 6.3.3 获取SpringApplicationRunListeners 79
  • 6.3.4 启动SpringApplicationRunListener 80
  • 6.3.5 创建ApplicationArguments 80
  • 6.3.6 创建并初始化ConfigurableEnvironment 81
  • 6.3.7 打印Banner 87
  • 6.3.8 创建ConfigurableApplicationContext 87
  • 6.3.9 准备ConfigurableApplicationContext 89
  • 6.3.10 刷新ConfigurableApplicationContext 91
  • 6.3.11 容器刷新后动作 93
  • 6.3.12 SpringApplicationRunListeners发布finish事件 94
  • 6.3.13 计时器停止计时 94
  • 6.4 再学一招:常用的获取属性的4种姿势 94
  • 第7章 微服务注册与发现 96
  • 7.1 初识Consul 96
  • 7.2 搭建Consul集群 97
  • 7.2.1 安装Consul 97
  • 7.2.2 启动Consul集群 97
  • 7.2.3 启动Consul-UI 99
  • 7.3 使用Consul实现服务注册与服务发现 100
  • 7.3.1 搭建项目框架 100
  • 7.3.2 配置服务注册信息 102
  • 7.3.3 实现服务启动注册 104
  • 7.3.4 实现服务发现 106
  • 7.4 服务部署测试 108
  • 7.4.1 编写测试类 108
  • 7.4.2 服务打包部署 109
  • 7.4.3 运行测试 111
  • 7.5 使用Consul与Actuator实现健康检查 111
  • 7.5.1 健康检查机制 111
  • 7.5.2 健康检查查错思路 111
  • 7.6 再学一招:Consul健康检查分类及原理 112
  • 第8章 微服务配置管理 114
  • 8.1 初识Archaius 114
  • 8.1.1 为什么要使用Archaius 114
  • 8.1.2 Archaius原理 114
  • 8.2 使用Consul-KV实现配置集中管理 115
  • 8.3 使用Archaius实现动态获取配置 116
  • 8.3.1 搭建项目框架 116
  • 8.3.2 创建配置信息读取源 118
  • 8.3.3 实现服务启动时读取配置信息 120
  • 8.3.4 动态获取配置信息 122
  • 8.3.5 将配置信息动态加入Spring属性源的思路 123
  • 8.4 再学一招:Archaius关键源码解析 123
  • 8.4.1 构造动态属性源 123
  • 8.4.2 动态获取属性 127
  • 第9章 微服务进程间通信 129
  • 9.1 常见的三种服务通信技术 129
  • 9.2 创建一个简单的被调用服务 130
  • 9.2.1 搭建项目框架 130
  • 9.2.2 实现一个简单的被调用接口 132
  • 9.3 使用OkHttp实现服务通信 134
  • 9.3.1 搭建项目框架 134
  • 9.3.2 创建OkHttp调用实体类 135
  • 9.3.3 实现服务通信功能 136
  • 9.3.4 SpringBoot指定服务启动端口的三种姿势 138
  • 9.4 使用AsyncHttpClient实现服务通信 139
  • 9.4.1 搭建项目框架 139
  • 9.4.2 创建AsyncHttpClient调用实体类 139
  • 9.4.3 实现服务通信功能 140
  • 9.5 使用Retrofit实现服务通信 141
  • 9.5.1 搭建项目框架 141
  • 9.5.2 创建调用接口并实例化接口 141
  • 9.5.3 实现服务通信功能 143
  • 9.6 再学一招:Retrofit源码解析 143
  • 9.6.1 构造RestAdapter 144
  • 9.6.2 初始化RestAdapter.Builder属性 146
  • 9.6.3 创建RestAdapter实例 149
  • 9.6.4 构造请求方法的接口类 150
  • 9.6.5 校验service接口的合法性 151
  • 9.6.6 使用动态代理创建对象 152
  • 9.6.7 进行请求调用 152
  • 9.6.8 获取RestMethodInfo实例 154
  • 9.6.9 进行方法调用 154
  • 9.6.10 加载RestMethodInfo的剩余属性 156
  • 9.6.11 构建请求参数retrofit.client.Request 160
  • 9.6.12 利用clientProvider进行真正的调用 161
  • 9.6.13 处理响应 162
  • 第10章 微服务降级容错 163
  • 10.1 初识Hystrix 163
  • 10.1.1 为什么要使用Hystrix 163
  • 10.1.2 Hystrix工作原理 164
  • 10.1.3 Hystrix执行流程 166
  • 10.2 使用Hystrix实现服务降级容错 167
  • 10.2.1 搭建项目框架 167
  • 10.2.2 创建AsyncHttpClient调用实体类 170
  • 10.2.3 服务通信框架集成服务降级容错功能 171
  • 10.2.4 验证服务降级容错功能 173
  • 10.3 搭建Hystrix监控系统 176
  • 10.3.1 使用Hystrix-Metrics-Event-Stream发布监控信息 176
  • 10.3.2 使用Hystrix-Dashboard展示监控信息 177
  • 10.3.3 使用Turbine聚合监控信息 179
  • 10.1 再学一招:Hystrix常用配置 184
  • 10.1.1 设置配置参数的两种方法 184
  • 10.4.2 常见配置项的配置方式 184
  • 第11章 微服务日志系统 187
  • 11.1 初识ELK 187
  • 11.1.1 为什么要用ELK 187
  • 11.1.2 ELK最常用的两种架构 188
  • 11.2 搭建ELK系统 189
  • 11.2.1 安装配置启动Redis 190
  • 11.2.2 安装配置启动Elasticsearch 190
  • 11.2.3 安装配置启动Logstash-Shipper 192
  • 11.2.4 安装配置启动Logstash-Indexer 194
  • 11.2.5 安装配置启动Kibana 195
  • 11.3 使用LogbackAppender发送日志 196
  • 11.3.1 搭建项目框架 196
  • 11.3.2 配置logback.xml文件 198
  • 11.3.3 创建LogbackAppender发送日志 199
  • 11.3.4 验证日志输出查询功能 201
  • 11.4 Kibana常见用法 203
  • 11.4.1 日期选择 203
  • 11.4.2 自动刷新 204
  • 11.4.3 查询语法 204
  • 11.5 再学一招:使用Curator定时删除日志 205
  • 11.5.1 安装Curator 205
  • 11.5.2 配置Curator 206
  • 11.5.3 配置crontab定时任务 208
  • 11.5.4 验证定时任务 208
  • 第12章 微服务全链路追踪系统 210
  • 12.1 初识Zipkin 210
  • 12.1.1 为什么要使用Zipkin 210
  • 12.1.2 Zipkin工作流程 211
  • 12.1.3 Zipkin数据模型 213
  • 12.1.4 Zipkin工作原理 213
  • 12.2 使用Zipkin搭建全链路追踪系统 215
  • 12.3 使用Brave AsyncHttpClient实现全链路追踪 217
  • 12.3.1 搭建项目框架 217
  • 12.3.2 使用服务端拦截器补充追踪信息 219
  • 12.3.3 使用客户端拦截器创建销毁追踪信息 223
  • 12.3.4 使用Zipkin-webUI查询链路追踪信息 225
  • 12.4 使用MySQL持久化追踪信息 227
  • 12.4.1 创建三张追踪信息表 227
  • 12.4.2 使用Brave-MySQL存储追踪信息 230
  • 12.5 使用Brave-OkHttp实现全链路追踪 230
  • 12.5.1 搭建项目框架 231
  • 12.5.2 使用服务端与客户端拦截器收集追踪信息 233
  • 12.6 再学一招:Brave关键源码解析 236
  • 12.6.1 span的生命周期 236
  • 12.6.2 使用reporter创建span 237
  • 12.6.3 使用collector收集span 242
  • 12.6.4 使用collector发送span 244
  • 第13章 微服务持续集成与持续部署系统 248
  • 13.1 初识持续集成与持续部署系统 248
  • 13.2 系统总体架构 249
  • 13.2.1 初识GitLab 249
  • 13.2.2 初识Jenkins 250
  • 13.2.3 初识Docker-Regsitry 250
  • 13.3 持续集成与持续部署系统工作原理 250
  • 13.3.1 使用jar包部署项目的整体流程 250
  • 13.3.2 使用Docker镜像部署项目的整体流程 250
  • 13.4 搭建持续集成与持续部署系统 251
  • 13.4.1 安装启动Docker 251
  • 13.4.2 安装配置启动GitLab 252
  • 13.4.3 安装启动Jenkins 254
  • 13.4.4 配置Jenkins全局信息与安装插件 256
  • 13.4.5 安装配置启动Docker-Registry 257
  • 13.5 使用jar包方式部署服务 258
  • 13.5.1 搭建项目框架 258
  • 13.5.2 使用GitLab创建组和项目 260
  • 13.5.3 使用GitLab管理代码 263
  • 13.5.4 使用Jenkins编译打包服务 264
  • 13.5.5 使用webhook实现服务的持续集成 267
  • 13.5.6 使用Jenkins Shell实现服务的持续部署 269
  • 13.6 使用Docker镜像方式部署服务 273
  • 13.6.1 搭建项目框架 273
  • 13.6.2 编写Dockerfile文件创建镜像 275
  • 13.6.3 通过Jenkins Shell使用镜像实现持续部署 276
  • 13.6.4 分析Jenkins构建日志 277
  • 13.7 再学一招:Docker常用命令 278

资源获取

资源地址1:https://pan.baidu.com/s/1UeG7B8pbsAb4ZwUJatG1qw(密码:9013)

相关资源

网友留言