Spring Cloud实战
¥
44.6
7.6折
¥
59
全新
库存3件
作者胡书敏
出版社清华大学出版社
ISBN9787302527220
出版时间2019-07
装帧平装
开本16开
定价59元
货号1201890795
上书时间2024-11-20
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
胡书敏,在外企和互联网公司有五年资深架构师工作经验,博客园知名博主,出版过多本Java方面的书籍,搭建过多个支付和数据分析方面的微服务架构。
目录
章 通过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连接MySQL17
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章 服务治理框架:Eureka35
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 通过服务调用者调用服务42
3.3 实现高可用的Eureka集群43
3.3.1 集群的示意图43
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章 负载均衡组件:Ribbon50
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服务调用者里引入Ribbon62
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章 服务容错组件:HyStrix72
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章 服务调用框架:Feign101
6.1 通过案例快速上手Feign101
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整合Hystrix111
6.5 本章小结113
第7章 微服务架构的网关组件:Zuul114
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和Hystrix131
7.4.1 案例的准备工作131
7.4.2 Zuul组件包含Ribbon和Hystrix模块的依赖132
7.4.3 以Ribbon负载均衡的方式实现路由132
7.4.4 在Zuul网关中引入Hystrix134
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
0章 微服务健康检查与服务跟踪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
1章 用Spring Boot开发Web案例195
11.1 在Spring Boot中整合JSP及MVC195
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
内容摘要
本书以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微服务开发技巧。
主编推荐
精彩内容
— 没有更多了 —
以下为对购买帮助不大的评价