书籍详情

精通Spring Boot 2.0

精通Spring Boot 2.0

作者:(印)迪内什·拉吉普特

出版社:清华大学出版社

出版时间:2019-06-01

ISBN:9787302530244

定价:¥109.00

购买这本书可以去
内容简介
  本书详细阐述了与Spring Boot 2.0相关的基本解决方案,主要包括定制auto-configuration、Spring CLI和Actuator、Spring Cloud和配置操作、Spring Cloud Netflix和Service Discovery、构建Spring Boot RESTful微服务、利用Netflix Zuul 创建API网关、利用Feign客户端简化HTTP API、构建事件驱动和异步响应式系统、利用Hystrix和Turbine构建弹性系统、测试Spring Boot应用程序、微服务的容器化、API管理器、云部署(AWS)、生产服务监视和z佳实践等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
作者简介
暂缺《精通Spring Boot 2.0》作者简介
目录

目    录

第1章  Spring Boot 2.0 1

1.1  Spring Boot概述 2

1.2  利用Spring Boot简化应用程序开发 3

1.3  Spring Boot中的核心组件 5

1.3.1  Spring Boot Starter 5

1.3.2  Spring Boot Starter Parent POM 7

1.3.3  Spring Boot auto-configuration 7

1.3.4  启用Spring Boot auto-configuration 9

1.3.5  Spring Boot CLI 11

1.3.6  Spring Boot Actuator 11

1.4  设置Spring Boot工作区 12

1.4.1  利用Maven设置Spring Boot 13

1.4.2  利用Gradle设置Spring Boot 13

1.5  开发第一个Spring Boot应用程序 15

1.5.1  使用Web界面 15

1.5.2  利用STS IDE创建Spring Boot项目 17

1.6  实现REST服务 19

1.7  Spring Boot 2.0中的新特性 22

1.8  本章小结 22

第2章  定制auto-configuration 25

2.1  理解auto-configuration 26

2.2  定制Spring Boot 27

2.2.1  利用Spring Boot属性进行定制 27

2.2.2  替换已生成的Bean 29

2.2.3  禁用特定的auto-configuration类 29

2.2.4  修改库的依赖关系 30

2.3  基于属性的配置外部化 31

2.3.1  属性的评估顺序 31

2.3.2  重命名Spring应用程序中的application.properties 32

2.4  外部配置应用程序属性 33

2.5  基于日志记录的调优 35

2.6  YAML配置文件 36

2.6.1  针对属性的YAML 36

2.6.2  单一YAML文件中的多个属性 37

2.7  定制应用程序错误页面 37

2.8  本章小结 39

第3章  Spring CLI和Actuator 41

3.1  使用Spring Boot CLI 41

3.1.1  安装Spring Boot CLI 42

3.1.2  从安装文件中手动安装Spring Boot CLI 42

3.1.3  使用SDKMAN!安装Spring Boot CLI 43

3.1.4  利用OSX Homebrew安装Spring Boot CLI 43

3.2  使用Initializr 44

3.3  Spring Boot Actuator 48

3.3.1  在应用程序中启用Spring Boot Actuator 49

3.3.2  分析Actuator的端点 49

3.3.3  显示配置细节 51

3.3.4  显示指标端点 56

3.3.5  显示应用程序信息 57

3.3.6  关闭应用程序 59

3.3.7  自定义Actuator端点 59

3.3.8  创建一个自定义端点 64

3.4  Actuator端点的安全性 66

3.5  Spring Boot 2.x中的Actuator 67

3.6  本章小结 68

第4章  Spring Cloud和配置操作 69

4.1  原生云应用程序架构 69

4.1.1  微服务架构 71

4.1.2  微服务的优点 72

4.1.3  微服务面临的挑战 73

4.2  Spring Cloud简介 74

4.2.1  云和微服务程序的构造块 74

4.2.2  Spring Cloud应用 76

4.3  配置Spring Cloud应用程序 77

4.4  创建配置生成器—Spring Cloud Config Server 78

4.5  实现Cloud Config Server 79

4.5.1  配置application.properties文件 80

4.5.2  创建Git存储库作为配置存储 80

4.6  利用模式配置多个存储库 83

4.6.1  身份验证 84

4.6.2  force-pull属性 85

4.7  创建Spring Cloud客户端 85

4.8  本章小结 87

第5章  Spring Cloud Netflix和Service Discovery 89

5.1  Spring Cloud Netflix简介 89

5.2  微服务架构中的Service Discovery 90

5.3  实现Service Discovery—Eureka Server 92

5.3.1  Maven构建配置文件 92

5.3.2  Gradle构建配置文件 93

5.3.3  启用Eureka服务器作为Discovery Service服务器 94

5.4  实现Service Discovery—Eureka客户端 96

5.4.1  添加Maven依赖关系配置 96

5.4.2  Gradle构建配置 98

5.5  利用Eureka注册客户端 99

5.5.1  使用REST服务 102

5.5.2  使用EurekaClient 102

5.5.3  Feign Client 107

5.6  本章小结 111

第6章  构建Spring Boot RESTful微服务 113

6.1  基于Spring Boot的微服务 113

6.1.1  bootstrap.yml和application.yml简介 114

6.1.2  简单的微服务示例 115

6.2  Spring Data简介 128

6.2.1  Apache Ignite存储库 129

6.2.2  Spring Data MongoDB 129

6.2.3  Spring Data JPA 130

6.3  本章小结 130

第7章  利用Netflix Zuul创建API网关 133

7.1  API网关模式需求 133

7.1.1  API Gateway模式的优点 135

7.1.2  API Gateway的一些缺点 135

7.1.3  API Gateway模式组件 135

7.2  利用Netflix Zuul Proxy实现API Gateway 136

7.2.1  利用Maven依赖关系包含Zuul 137

7.2.2  启用Zuul服务代理 137

7.2.3  配置Zuul属性 138

7.2.4  添加过滤器 141

7.3  本章小结 144

第8章  利用Feign客户端简化HTTP API 145

8.1  Feign基础知识 145

8.2  在云应用程序中包含Feign 148

8.2.1  重载Feign的默认配置 153

8.2.2  创建Feign客户端 155

8.2.3  Feign继承机制 156

8.2.4  多重继承 156

8.3  Feign客户端的高级应用 157

8.4  异常处理 158

8.5  自定义编码器和解码器 159

8.5.1  自定义编码器 160

8.5.2  自定义解码器 161

8.6  Feign和Hystrix 161

8.7  Feign客户端单元测试 163

8.8  本章小结 164

第9章  构建事件驱动和异步响应式系统 165

9.1  事件驱动型架构模式 165

9.1.1  调停者拓扑 165

9.1.2  代理拓扑 166

9.2  响应式编程简介 167

9.2.1  Spring Reactive 167

9.2.2  ReactiveX 168

9.3  命令查询的责任分离简介 168

9.3.1  Event Sourcing模式简介 170

9.3.2  最终一致性 171

9.4  构建事件驱动型响应式异步系统 172

9.5  Spring Cloud Streaming简介 173

9.5.1  向应用程序中添加Kafka 174

9.5.2  安装和运行Kafka 175

9.5.3  Kafka配置属性 175

9.5.4  用于写入Kafka的服务 176

9.5.5  Rest API控制器 177

9.5.6  监听Kafka主题 177

9.6  本章小结 181

第10章  利用Hystrix和Turbine构建弹性系统 183

10.1  断路器模式 184

10.2  使用Hystrix library 186

10.3  在应用程序中配置Hystrix 187

10.3.1  Maven依赖关系 188

10.3.2  启用断路器 188

10.3.3  向服务中添加Hystrix注解 189

10.3.4  错误传递 192

10.4  在客户服务中实现REST控制器 192

10.5  构建和测试客户服务 195

10.6  自定义默认的配置项 196

10.7  Hystrix Metrics Stream 198

10.8  在项目中实现Hystrix Dashboard 199

10.9  Turbine仪表盘 201

10.10  基于Hystrix和Feign的REST使用者 204

10.11  本章小结 206

第11章  测试Spring Boot应用程序 207

11.1  测试驱动开发 207

11.2  单元测试机制 208

11.2.1  单元测试的优点 211

11.2.2  单元测试的缺点 212

11.2.3  其他模拟库 212

11.3  集成测试 212

11.3.1  Spring测试的优点 214

11.3.2  激活测试类的配置 214

11.4  Spring Boot应用程序的JUnit测试 214

11.5  使用Mockito模拟服务 216

11.6  测试RESTful服务契约的Postman 217

11.7  本章小结 220

第12章  微服务的容器化 221

12.1  微服务架构的容器 222

12.1.1  虚拟机和容器 222

12.1.2  容器方案的优点 224

12.1.3  面向容器方案的缺点 224

12.2  Docker简介 225

12.2.1  安装Docker 226

12.2.2  在Linux上安装Docker 226

12.2.3  在Windows中安装Docker 227

12.2.4  Docker架构 229

12.2.5  Docker引擎 231

12.2.6  Docker容器 232

12.2.7  编写Dockerfile 233

12.3  Docker化Spring Boot应用程序 235

12.4  利用Maven创建Docker镜像 239

12.5  Docker Compose简介 240

12.5.1  安装Docker Compose 241

12.5.2  使用Docker Compose 242

12.5.3  编写docker-compose文件 242

12.5.4  基于docker-compose文件的编排操作 244

12.5.5  利用docker-compose和负载平衡扩展容器 247

12.6  Kubernetes简介 248

12.7  本章小结 249

第13章  API管理器 251

13.1  API管理 251

13.1.1  API管理软件的优点 252

13.1.2  API管理工具 252

13.2  速率限制 252

13.3  KONG简介 253

13.3.1  基于KONG架构的微服务REST API 254

13.3.2  未采用KONG架构的API应用 255

13.3.3  安装KONG 255

13.3.4  使用KONG API 257

13.4  Swagger 265

13.4.1  Swagger应用 265

13.4.2  在微服务中使用Swagger 266

13.4.3  Swagger的优点 277

13.5  本章小结 278

第14章  云部署(AWS) 279

14.1  AWS EC2实例 279

14.2  AWS上的微服务架构 284

14.3  在AWS EC2上安装Docker 289

14.4  在AWS EC2上运行微服务 291

14.5  本章小结 293

第15章  生产服务监视和最佳实践 295

15.1  监视容器 295

15.2  日志机制所面临的挑战 295

15.3  微服务架构的中心日志方案 297

15.3.1  基于ELK栈的日志聚合 299

15.3.2  使用Sleuth的请求跟踪 306

15.3.3  基于Zipkin的请求跟踪 310

15.4  本章小结 315


猜您喜欢

读书导航