《SpringCloud与Docker微服务架构实战》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:周立著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121312717
  • 页数:250 页
图书介绍:本书是一本面向微服务架构的实战书籍,其中用到了Spring Cloud这一全新的Java微服务框架,并完整涵盖用Docker进行微服务构建以及用Jenkins进行持续集成的全流程实践,面向从发、集成、交付及自动化运维等诸多岗位、环节。

1微服务架构概述 1

1.1单体应用架构存在的问题 1

1.2如何解决单体应用架构存在的问题 3

1.3什么是微服务 3

1.4微服务架构的优点与挑战 4

1.4.1微服务架构的优点 5

1.4.2微服务架构面临的挑战 5

1.5微服务设计原则 6

1.6如何实现微服务架构 7

1.6.1技术选型 7

1.6.2架构图及常用组件 8

2微服务开发框架——Spring Cloud 9

2.1 Spring Cloud简介 9

2.2 Spring Cloud特点 10

2.3 Spring Cloud版本 10

2.3.1版本简介 10

2.3.2子项目一览 11

2.3.3 Spring Cloud/Spring Boot版本兼容性 12

3开始使用Spring Cloud实战微服务 13

3.1 Spring Cloud实战前提 13

3.1.1技术储备 13

3.1.2工具及软件版本 14

3.2服务提供者与服务消费者 15

3.3编写服务提供者 15

3.3.1手动编写项目 15

3.3.2使用Spring Initializr快速创建Spring Boot项目 20

3.4编写服务消费者 22

3.5为项目整合Spring Boot Actuator 23

3.6硬编码有哪些问题 26

4微服务注册与发现 27

4.1服务发现简介 27

4.2 Eureka简介 29

4.3 Eureka原理 29

4.4编写Eureka Server 31

4.5将微服务注册到Eureka Server上 33

4.6 Eureka Server的高可用 34

4.7为Eureka Server添加用户认证 37

4.8 Eureka的元数据 39

4.8.1改造用户微服务 39

4.8.2改造电影微服务 39

4.9 Eureka Server的REST端点 41

4.10 Eureka的自我保护模式 49

4.11多网卡环境下的IP选择 50

4.12 Eureka的健康检查 51

5使用Ribbon实现客户端侧负载均衡 53

5.1 Ribbon简介 53

5.2为服务消费者整合Ribbon 54

5.3使用Java代码自定义Ribbon配置 57

5.4使用属性自定义Ribbon配置 60

5.5脱离Eureka使用Ribbon 61

6使用Feign实现声明式REST调用 63

6.1 Feign简介 64

6.2为服务消费者整合Feign 64

6.3自定义Feign配置 66

6.4手动创建Feign 69

6.4.1修改用户微服务 70

6.4.2修改电影微服务 73

6.5 Feign对继承的支持 75

6.6 Feign对压缩的支持 76

6.7 Feign的日志 77

6.8使用Feign构造多参数请求 79

6.8.1 GET请求多参数的URL 79

6.8.2 POST请求包含多个参数 81

7使用Hystrix实现微服务的容错处理 82

7.1实现容错的手段 82

7.1.1雪崩效应 83

7.1.2如何容错 83

7.2使用Hystrix实现容错 85

7.2.1 Hystrix简介 85

7.2.2通用方式整合Hystrix 86

7.2.3 Hystrix断路器的状态监控与深入理解 89

7.2.4 Hystrix线程隔离策略与传播上下文 90

7.2.5 Feign使用Hystrix 93

7.3 Hystrix的监控 98

7.4使用Hystrix Dashboard可视化监控数据 100

7.5使用Turbine聚合监控数据 102

7.5.1 Turbine简介 102

7.5.2使用Turbine监控多个微服务 103

7.5.3使用消息中间件收集数据 105

8使用Zuul构建微服务网关 110

8.1为什么要使用微服务网关 110

8.2 Zuul简介 112

8.3编写Zuul微服务网关 112

8.4 Zuul的路由端点 115

8.5路由配置详解 116

8.6 Zuul的安全与Header 119

8.6.1敏感Header的设置 119

8.6.2忽略Header 120

8.7使用Zuul上传文件 121

8.8 Zuul的过滤器 124

8.8.1过滤器类型与请求生命周期 124

8.8.2编写Zuul过滤器 125

8.8.3禁用Zuul过滤器 127

8.9 Zuul的容错与回退 127

8.10 Zuul的高可用 130

8.10.1 Zuul客户端也注册到了Eureka Server上 130

8.10.2 Zuul客户端未注册到Eureka Server上 131

8.11使用Sidecar整合非JVM微服务 132

8.11.1编写Node.js微服务 133

8.11.2编写Sidecar 134

8.11.3 Sidecar的端点 136

8.11.4 Sidecar与Node.js微服务分离部署 136

8.11.5 Sidecar原理分析 137

8.12使用Zuul聚合微服务 139

9使用Spring Cloud Config统一管理微服务配置 144

9.1为什么要统一管理微服务配置 144

9.2 Spring Cloud Config简介 145

9.3编写Config Server 146

9.4编写Config Client 149

9.5 Config Server的Git仓库配置详解 151

9.6 Config Server的健康状况指示器 154

9.7配置内容的加解密 155

9.7.1安装JCE 155

9.7.2 Config Server的加解密端点 155

9.7.3对称加密 155

9.7.4存储加密的内容 156

9.7.5非对称加密 157

9.8使用/refresh端点手动刷新配置 158

9.9使用Spring Cloud Bus自动刷新配置 159

9.9.1 Spring Cloud Bus简介 159

9.9.2实现自动刷新 160

9.9.3局部刷新 161

9.9.4架构改进 162

9.9.5跟踪总线事件 163

9.10 Spring Cloud Config与Eureka配合使用 163

9.11 Spring Cloud Config的用户认证 164

9.12 Config Server的高可用 166

9.12.1 Git仓库的高可用 166

9.12.2 RabbitMQ的高可用 167

9.12.3 Config Server自身的高可用 167

10使用Spring Cloud Sleuth实现微服务跟踪 169

10.1为什么要实现微服务跟踪 169

10.2 Spring Cloud Sleuth简介 170

10.3整合Spring Cloud Sleuth 171

10.4 Spring Cloud Sleuth与ELK配合使用 174

10.5 Spring Cloud Sleuth与Zipkin配合使用 178

10.5.1 Zipkin简介 178

10.5.2编写Zipkin Server 178

10.5.3微服务整合Zipkin 179

10.5.4使用消息中间件收集数据 183

10.5.5存储跟踪数据 185

11 Spring Cloud常见问题与总结 188

11.1 Eureka常见问题 188

11.1.1 Eureka注册服务慢 188

11.1.2已停止的微服务节点注销慢或不注销 189

11.1.3如何自定义微服务的Instance ID 190

11.1.4 Eureka的UNKNOWN问题总结与解决 192

11.2 Hystrix/Feign整合Hystrix后首次请求失败 193

11.2.1原因分析 193

11.2.2解决方案 193

11.3 Turbine聚合的数据不完整 193

11.4 Spring Cloud各组件配置属性 195

11.4.1 Spring Cloud的配置 195

11.4.2原生配置 196

11.5 Spring Cloud定位问题思路总结 196

12 Docker入门 199

12.1 Docker简介 199

12.2 Docker的架构 199

12.3安装Docker 201

12.3.1系统要求 201

12.3.2移除非官方软件包 201

12.3.3设置Yum源 201

12.3.4安装Dokcer 202

12.3.5卸载Docker 203

12.4配置镜像加速器 204

12.5 Docker常用命令 204

12.5.1 Docker镜像常用命令 205

12.5.2 Docker容器常用命令 206

13将微服务运行在Docker上 211

13.1使用Dockerfile构建Docker镜像 211

13.1.1 Dockerfile常用指令 212

13.1.2使用Dockerfile构建镜像 216

13.2使用Docker Registry管理Docker镜像 218

13.2.1使用Docker Hub管理镜像 218

13.2.2使用私有仓库管理镜像 220

13.3使用Maven插件构建Docker镜像 222

13.3.1快速入门 222

13.3.2插件读取Dockerfile进行构建 224

13.3.3将插件绑定在某个phase执行 225

13.3.4推送镜像 226

13.4常见问题与总结 228

14使用Docker Compose编排微服务 229

14.1 Docker Compose简介 229

14.2安装Docker Compose 230

14.2.1安装Compose 230

14.2.2安装Compose命令补全工具 230

14.3 Docker Compose快速入门 231

14.3.1基本步骤 231

14.3.2入门示例 231

14.3.3工程、服务、容器 232

14.4 docker-compose.yml常用命令 232

14.5 docker-compose常用命令 236

14.6 Docker Compose网络设置 238

14.6.1基本概念 238

14.6.2更新容器 239

14.6.3 links 239

14.6.4指定自定义网络 239

14.6.5配置默认网络 240

14.6.6使用已存在的网络 241

14.7综合实战:使用Docker Comose编排Spring Cloud微服务 241

14.7.1编排Spring Cloud微服务 241

14.7.2编排高可用的Eureka Server 245

14.7.3编排高可用Spring Cloud微服务集群及动态伸缩 246

14.8常见问题与总结 249

后记 250