Spring Cloud实战  Spring Cloud微服务组件架构案例实战指南书籍pdf下载

Spring Cloud实战 Spring Cloud微服务组件架构案例实战指南书籍百度网盘pdf下载

作者:
简介:Spring Cloud实战 Spring Cloud微服务组件架构案例实战指南书籍
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍


Spring Cloud实战

Spring Cloud微服务组件架构案例实战指南

作者:胡书敏

定价:59元

印次:1-1

ISBN:9787302527220

出版日期:2019.07.01

印刷日期:2019.05.24

图书简介

本书以Spring Cloud微服务架构为主线,依次通过案例讲述Spring Cloud的常用组件。看完本书后,大家会比较熟悉基于 Spring Cloud微服务架构的开发技术。

本书分为11章,内容包括Spring Boot微服务入门、Spring Data连接数据库、Eureka服务治理框架、Ribbon负载均衡组件、HyStrix服务容错组件、Feign服务调用框架、Zuul网关组件、用Spring Cloud Config搭建配置中心、消息机制与消息驱动框架、微服务健康检查与服务跟踪,后给出一个SpringBoot开发Web的实战案例。

如果你想了解Spring Cloud微服务架构,并想以此进阶到架构师,那么本书是不错的选择。而且本书还附带相关代码和视频,视频里包含了所有案例的配置和运行方式,建议大家在观看视频、运行代码的基础上阅读本书的文字,这样能更高效地掌握Spring Cloud微服务开发技巧。

目   录

第1章  通过Spring Boot入门微服务

1

1.1  Spring Boot、Spring Cloud与微服务架构

1

1.1.1  通过和传统架构的对比了解微服务的优势

1

1.1.2  Spring Boot、Spring Cloud和微服务三者的关系

3

1.1.3  基于Netflix OSS的Spring Cloud的常用组件

4

1.2  通过Maven开发一个Spring Boot项目

5

1.2.1  Maven是什么,能带来什么帮助

5

1.2.2  通过Maven开发Spring Boot的HelloWorld程序

6

1.2.3  Controller类里处理Restful格式的请求

9

1.2.4  @SpringBootApplication注解等价于其他3个注解

11

1.2.5  通过配置文件实现热部署

12

1.3  通过Actuator监控Spring Boot运行情况

12

1.3.1  准备待监控的项目

13

1.3.2  通过/info查看本站点的自定义信息

14

1.3.3  通过/health查看本站点的健康信息

14

1.3.4  通过/metrics查看本站点的各项指标信息

14

1.3.5  actuator在项目里的实际用法

15

1.4  本章小结

15

第2章  用Spring Data框架连接数据库

16

2.1  Spring Data框架概述

16

2.2  Spring Data通过JPA连接MySQL

17

2.2.1  连接MySQL的案例分析

17

2.2.2  使用yml格式的配置文件

22

2.2.3  通过profile文件映射到不同的运行环境

23

2.3  通过JPA实现各种关联关系

24

2.3.1  一对一关联

24

2.3.2  一对多关联

28

2.3.3  多对多关联

30

2.4  本章小结

34

第3章  服务治理框架:Eureka

35

3.1  了解Eureka框架

35

3.1.1  Eureka能干什么

35

3.1.2  Eureka的框架图

36

3.2  构建基本的Eureka应用

36

3.2.1  搭建Eureka服务器

36

3.2.2  编写作为服务提供者的Eureka客户端

38

3.2.3  编写服务调用者的代码

40

3.2.4  通过服务调用者调用服务


3.3.2  编写相互注册的服务器端代码

43

3.3.3  服务提供者只需向其中一台服务器注册

44

3.3.4  修改服务调用者的代码

45

3.3.5  正常场景下的运行效果

45

3.3.6  一台服务器宕机后的运行效果

46

3.4  Eureka的常用配置信息

46

3.4.1  查看客户端和服务器端的配置信息

47

3.4.2  设置心跳检测的时间周期

47

3.4.3  设置自我保护模式

47

3.4.4  其他常用配置信息

48

3.5  本章小结

49

第4章  负载均衡组件:Ribbon

50

4.1  网络协议和负载均衡

50

4.1.1  基于4层和7层的负载均衡策略

50

4.1.2  硬件层和软件层的负载均衡方案比较

51

4.1.3  常见的软件负载均衡策略

51

4.1.4  Ribbon组件基本介绍

52

4.2  编写基本的负载均衡程序

52

4.2.1  编写服务器端的代码

53

4.2.2  编写客户端调用的代码

53

4.3  Ribbon中重要组件的用法

55

4.3.1  ILoadBalancer:负载均衡器接口

55

4.3.2  IRule:定义负载均衡规则的接口

56

4.3.3  IPing:判断服务器是否可用的接口

57

4.4  Ribbon整合Eureka组件

58

4.4.1  整体框架的说明

59

4.4.2  编写Eureka服务器

60

4.4.3  编写Eureka服务提供者

61

4.4.4  在Eureka服务调用者里引入Ribbon

62

4.4.5  重写IRule和IPing接口

64

4.4.6  实现双服务器多服务提供者的高可用效果

67

4.5  配置Ribbon的常用参数

69

4.5.1  参数的影响范围

69

4.5.2  归纳常用的参数

69

4.5.3  在类里设置Ribbon参数

70

4.6  本章小结

71

第5章  服务容错组件:HyStrix

72

5.1  在微服务里引入Hystrix的必要性

72

5.1.1  通过一些算术题了解发生的概率

72

5.1.2  用通俗方式总结Hystrix的保护措施

73

5.2  通过案例了解Hystrix的各种使用方式

74

5.2.1  准备服务提供者

74

5.2.2  以同步方式调用正常工作的服务

75

5.2.3  以异步方式调用服务

77

5.2.4  调用不可用服务会启动保护机制

78

5.2.5  调用Hystrix时引入缓存

80

5.2.6  归纳Hystrix的基本开发方式

82

5.3  通过Hystrix实践各种容错保护机制

82

5.3.1  强制开启或关闭断路器

82

5.3.2  根据流量情况按命令组开启断路器

83

5.3.3  降级服务后的自动恢复尝试措施

85

5.3.4  线程级别的隔离机制

87

5.3.5  信号量级别的隔离机制

89

5.3.6  通过合并批量处理URL请求

90

5.4  Hystrix与Eureka的整合

94

5.4.1  准备Eureka服务器项目

94

5.4.2  服务提供者的代码结构

95

5.4.3  在服务提供者项目里引入断路器机制

96

5.4.4  在服务调用者项目里引入合并请求机制

97

5.5  本章小结

100

第6章  服务调用框架:Feign

101

6.1  通过案例快速上手Feign

101

6.1.1  编写服务注册项目和服务提供项目

101

6.1.2  通过Feign调用服务

102

6.1.3  通过比较其他调用方式来了解Feign的封装性

104

6.2  Feign的常见使用方式

105

6.2.1  通过继承改善项目架构

105

6.2.2  通过注解输出调用日志

107

6.2.3  压缩请求和返回以提升访问效率

108

6.3  通过Feign使用Ribbon负载均衡特性

109

6.3.1  准备Eureka服务器以及多个服务提供者

109

6.3.2  通过Feign以Ribbon负载均衡的方式调用服务

110

6.4  Feign整合Hystrix

111

6.5  本章小结

113

第7章  微服务架构的网关组件:Zuul

114

7.1  通过案例入门Zuul组件的用法

114

7.1.1  搭建简单的基于Zuul组件的网关

114

7.1.2  通过运行结果体会Zuul转发请求的效果

116

7.2  Zuul请求过滤器

116

7.2.1  http请求生命周期和Zuul过滤器

116

7.2.2  过滤器的常规用法

117

7.2.3  指定过滤器的优先级

119

7.2.4  通过error过滤器处理路由时的异常情况

121

7.2.5  动态增加过滤器

123

7.3  通过Zuul实现路由功能的实践方案

126

7.3.1  简单路由的做法

126

7.3.2  通过forward跳转到本地页面

127

7.3.3  路由到具体的服务

128

7.3.4  定义映射url请求的规则

129

7.3.5  配置路由的例外规则

130

7.4  Zuul天然整合了Ribbon和Hystrix

131

7.4.1  案例的准备工作

131

7.4.2  Zuul组件包含Ribbon和Hystrix模块的依赖

132

7.4.3  以Ribbon负载均衡的方式实现路由

132

7.4.4  在Zuul网关中引入Hystrix

134

7.5  本章小结

136

第8章  用Spring Cloud Config搭建配置中心

137

8.1  通过Spring Cloud Config搭建基于Git的配置中心

137

8.1.1  Spring Cloud Config中服务器和客户端的体系结构

137

8.1.2  在Git上准备配置文件

138

8.1.3  在服务器中连接Git仓库

139

8.1.4  在客户端读取配置文件

141

8.2  搭建基于SVN的配置中心

142

8.2.1  准备SVN环境

143

8.2.2  编写基于SVN的配置服务器代码

144

8.2.3  在应用中读取基于SVN客户端的配置

145

8.3  服务器和客户端的其他常见用法

146

8.3.1  总结配置客户端和服务器的作用

146

8.3.2  在服务端验证配置仓库访问权限

147

8.3.3  在服务端配置身份验证信息

147

8.3.4  访问配置仓库子目录中的配置

148

8.3.5  在本地备份远端仓库中的配置

149

8.3.6  用本地属性覆盖远端属性

150

8.3.7  failFast属性

151

8.3.8  与failFast配套的重试相关参数

151

8.4  Spring Cloud Config与Eureka的整合

153

8.4.1  本案例的体系结构和项目说明

153

8.4.2  准备数据库环境和Git配置信息

154

8.4.3  配置服务器与Eureka服务器合二为一

154

8.4.4  配置客户端与Eureka客户端合二为一

156

8.4.5  查看运行效果

158

8.5  本章小结

158

第9章  消息机制与消息驱动框架

159

9.1  在微服务中实现模块间的通信

159

9.1.1  消息代理和消息中间件

159

9.1.2  Spring Cloud体系中的消息总线

160

9.1.3  Spring Cloud Stream:消息驱动框架

160

9.2  消息中间件的案例

161

9.2.1  RabbitMQ的安装步骤

161

9.2.2  通过RabbitMQ发送和接收消息的案例

162

9.2.3  Kafka的安装步骤

165

9.2.4  通过Kafka发送和接收消息的案例

166

9.3  通过消息总线封装消息中间件

168

9.3.1  基于RabbitMQ的消息总线案例

168

9.3.2  基于Kafka的消息总线案例

169

9.4  Spring Cloud Stream组件的常见用法

170

9.4.1  实现基于RabbitMQ的案例

170

9.4.2  通过更换绑定器变更消息中间件

173

9.4.3  消费组案例演示

174

9.4.4  消息分区实例演示

175

9.5  本章小结

177

第10章  微服务健康检查与服务跟踪

178

10.1  通过Spring Boot Admin监控微服务

178

10.1.1  监控单个服务

178

10.1.2  与Eureka的整合

181

10.1.3  设置报警邮件

184

10.2  通过Sleuth组件跟踪服务调用链路

185

10.2.1  基于Sleuth案例的总体说明

185

10.2.2  关于服务提供者案例的说明

186

10.2.3  关于服务调用者案例的说明

186

10.2.4  通过运行效果了解Sleuth组件

187

10.2.5  通过Sleuth组件分析问题的一般方法

188

10.3  整合Zipkin查询和分析日志

188

10.3.1  搭建Zipkin服务器

188

10.3.2  从Zipkin图表上查看Sleuth发来的日志

189

10.3.3  在MySQL中保存Zipkin数据

191

10.3.4  如何根据Zipkin结果观察调用链路

193

10.4  本章小结

194

第11章  用Spring Boot开发Web案例

195

11.1  在Spring Boot中整合JSP及MVC

195

11.1.1  以Maven的形式创建Web项目

195

11.1.2  在Spring Boot中引入JSP(基于Maven)

197

11.1.3  在Spring Boot中引入MVC架构和数据库服务

198

11.2  Spring Security与Spring Boot的整合

201

11.2.1  身份验证的简单做法

201

11.2.2  进行动态身份验证的做法

204

11.2.3  Spring Boot Security身份验证的开发要点

205

11.2.4  根据用户的角色分配不同的资源

205

11.3  在Web项目中整合Eureka、Ribbon等组件

210

11.3.1  本案例的框架与包含的项目说明

210

11.3.2  开发Eureka服务器模块

211

11.3.3  开发前端Web项目

211

11.3.4  开发提供用户验证的项目

215

11.3.5  开发提供账户查询功能的项目(含负载均衡)

216

11.4  本章小结

219


^_^:76d5ddb8c2f6012a05cf1a34ceb8869e