计算机
类型
可以朗读
语音朗读
146千字
字数
2019-01-01
发行日期
展开全部
主编推荐语
《微服务与Spring Cloud实战》涵盖Eureka、Ribbon等重要组件。
内容简介
本书首先讲介绍微服务和Spring Cloud的概念,然后通过每个章节讲述Spring Cloud的每个重要的组件,包括服务治理Eureka,负载均衡Ribbon,熔断保护Hystrix,客户端服务调用的Feign,网关Zuul,配置管理组件Spring Cloud Config,消息发送组件Spring Cloug Stream以及日志管理组件Sleuth。
目录
- 封面页
- 书名页
- 版权页
- 内容简介
- 前言
- 目录
- 第1章 通过Spring Boot入门微服务
- 1.1 Spring Boot、Spring Cloud与微服务架构
- 1.1.1 通过和传统架构的对比了解微服务的优势
- 1.1.2 Spring Boot、Spring Cloud和微服务三者的关系
- 1.1.3 基于Netflix OSS的Spring Cloud的常用组件
- 1.2 通过Maven开发第一个Spring Boot项目
- 1.2.1 Maven是什么,能带来什么帮助
- 1.2.2 通过Maven开发Spring Boot的HelloWorld程序
- 1.2.3 Controller类里处理Restful格式的请求
- 1.2.4 @SpringBootApplication注解等价于其他3个注解
- 1.2.5 通过配置文件实现热部署
- 1.3 通过Actuator监控Spring Boot运行情况
- 1.3.1 准备待监控的项目
- 1.3.2 通过/info查看本站点的自定义信息
- 1.3.3 通过/health查看本站点的健康信息
- 1.3.4 通过/metrics查看本站点的各项指标信息
- 1.3.5 actuator在项目里的实际用法
- 1.4 本章小结
- 第2章 用Spring Data框架连接数据库
- 2.1 Spring Data框架概述
- 2.2 Spring Data通过JPA连接MySQL
- 2.2.1 连接MySQL的案例分析
- 2.2.2 使用yml格式的配置文件
- 2.2.3 通过profile文件映射到不同的运行环境
- 2.3 通过JPA实现各种关联关系
- 2.3.1 一对一关联
- 2.3.2 一对多关联
- 2.3.3 多对多关联
- 2.4 本章小结
- 第3章 服务治理框架:Eureka
- 3.1 了解Eureka框架
- 3.1.1 Eureka能干什么
- 3.1.2 Eureka的框架图
- 3.2 构建基本的Eureka应用
- 3.2.1 搭建Eureka服务器
- 3.2.2 编写作为服务提供者的Eureka客户端
- 3.2.3 编写服务调用者的代码
- 3.2.4 通过服务调用者调用服务
- 3.3 实现高可用的Eureka集群
- 3.3.1 集群的示意图
- 3.3.2 编写相互注册的服务器端代码
- 3.3.3 服务提供者只需向其中一台服务器注册
- 3.3.4 修改服务调用者的代码
- 3.3.5 正常场景下的运行效果
- 3.3.6 一台服务器宕机后的运行效果
- 3.4 Eureka的常用配置信息
- 3.4.1 查看客户端和服务器端的配置信息
- 3.4.2 设置心跳检测的时间周期
- 3.4.3 设置自我保护模式
- 3.4.4 其他常用配置信息
- 3.5 本章小结
- 第4章 负载均衡组件:Ribbon
- 4.1 网络协议和负载均衡
- 4.1.1 基于4层和7层的负载均衡策略
- 4.1.2 硬件层和软件层的负载均衡方案比较
- 4.1.3 常见的软件负载均衡策略
- 4.1.4 Ribbon组件基本介绍
- 4.2 编写基本的负载均衡程序
- 4.2.1 编写服务器端的代码
- 4.2.2 编写客户端调用的代码
- 4.3 Ribbon中重要组件的用法
- 4.3.1 ILoadBalancer:负载均衡器接口
- 4.3.2 IRule:定义负载均衡规则的接口
- 4.3.3 IPing:判断服务器是否可用的接口
- 4.4 Ribbon整合Eureka组件
- 4.4.1 整体框架的说明
- 4.4.2 编写Eureka服务器
- 4.4.3 编写Eureka服务提供者
- 4.4.4 在Eureka服务调用者里引入Ribbon
- 4.4.5 重写IRule和IPing接口
- 4.4.6 实现双服务器多服务提供者的高可用效果
- 4.5 配置Ribbon的常用参数
- 4.5.1 参数的影响范围
- 4.5.2 归纳常用的参数
- 4.5.3 在类里设置Ribbon参数
- 4.6 本章小结
- 第5章 服务容错组件:HyStrix
- 5.1 在微服务系统里引入Hystrix的必要性
- 5.1.1 通过一些算术题了解系统发生错误的概率
- 5.1.2 用通俗方式总结Hystrix的保护措施
- 5.2 通过案例了解Hystrix的各种使用方式
- 5.2.1 准备服务提供者
- 5.2.2 以同步方式调用正常工作的服务
- 5.2.3 以异步方式调用服务
- 5.2.4 调用不可用服务会启动保护机制
- 5.2.5 调用Hystrix时引入缓存
- 5.2.6 归纳Hystrix的基本开发方式
- 5.3 通过Hystrix实践各种容错保护机制
- 5.3.1 强制开启或关闭断路器
- 5.3.2 根据流量情况按命令组开启断路器
- 5.3.3 降级服务后的自动恢复尝试措施
- 5.3.4 线程级别的隔离机制
- 5.3.5 信号量级别的隔离机制
- 5.3.6 通过合并批量处理URL请求
- 5.4 Hystrix与Eureka的整合
- 5.4.1 准备Eureka服务器项目
- 5.4.2 服务提供者的代码结构
- 5.4.3 在服务提供者项目里引入断路器机制
- 5.4.4 在服务调用者项目里引入合并请求机制
- 5.5 本章小结
- 第6章 服务调用框架:Feign
- 6.1 通过案例快速上手Feign
- 6.1.1 编写服务注册项目和服务提供项目
- 6.1.2 通过Feign调用服务
- 6.1.3 通过比较其他调用方式来了解Feign的封装性
- 6.2 Feign的常见使用方式
- 6.2.1 通过继承改善项目架构
- 6.2.2 通过注解输出调用日志
- 6.2.3 压缩请求和返回以提升访问效率
- 6.3 通过Feign使用Ribbon负载均衡特性
- 6.3.1 准备Eureka服务器以及多个服务提供者
- 6.3.2 通过Feign以Ribbon负载均衡的方式调用服务
- 6.4 Feign整合Hystrix
- 6.5 本章小结
- 第7章 微服务架构的网关组件:Zuul
- 7.1 通过案例入门Zuul组件的用法
- 7.1.1 搭建简单的基于Zuul组件的网关
- 7.1.2 通过运行结果体会Zuul转发请求的效果
- 7.2 Zuul请求过滤器
- 7.2.1 http请求生命周期和Zuul过滤器
- 7.2.2 过滤器的常规用法
- 7.2.3 指定过滤器的优先级
- 7.2.4 通过error过滤器处理路由时的异常情况
- 7.2.5 动态增加过滤器
- 7.3 通过Zuul实现路由功能的实践方案
- 7.3.1 简单路由的做法
- 7.3.2 通过forward跳转到本地页面
- 7.3.3 路由到具体的服务
- 7.3.4 定义映射url请求的规则
- 7.3.5 配置路由的例外规则
- 7.4 Zuul天然整合了Ribbon和Hystrix
- 7.4.1 案例的准备工作
- 7.4.2 Zuul组件包含Ribbon和Hystrix模块的依赖
- 7.4.3 以Ribbon负载均衡的方式实现路由
- 7.4.4 在Zuul网关中引入Hystrix
- 7.5 本章小结
- 第8章 用Spring Cloud Config搭建配置中心
- 8.1 通过Spring Cloud Config搭建基于Git的配置中心
- 8.1.1 Spring Cloud Config中服务器和客户端的体系结构
- 8.1.2 在Git上准备配置文件
- 8.1.3 在服务器中连接Git仓库
- 8.1.4 在客户端读取配置文件
- 8.2 搭建基于SVN的配置中心
- 8.2.1 准备SVN环境
- 8.2.2 编写基于SVN的配置服务器代码
- 8.2.3 在应用中读取基于SVN客户端的配置
- 8.3 服务器和客户端的其他常见用法
- 8.3.1 总结配置客户端和服务器的作用
- 8.3.2 在服务端验证配置仓库访问权限
- 8.3.3 在服务端配置身份验证信息
- 8.3.4 访问配置仓库子目录中的配置
- 8.3.5 在本地备份远端仓库中的配置
- 8.3.6 用本地属性覆盖远端属性
- 8.3.7 failFast属性
- 8.3.8 与failFast配套的重试相关参数
- 8.4 Spring Cloud Config与Eureka的整合
- 8.4.1 本案例的体系结构和项目说明
- 8.4.2 准备数据库环境和Git配置信息
- 8.4.3 配置服务器与Eureka服务器合二为一
- 8.4.4 配置客户端与Eureka客户端合二为一
- 8.4.5 查看运行效果
- 8.5 本章小结
- 第9章 消息机制与消息驱动框架
- 9.1 在微服务中实现模块间的通信
- 9.1.1 消息代理和消息中间件
- 9.1.2 Spring Cloud体系中的消息总线
- 9.1.3 Spring Cloud Stream:消息驱动框架
- 9.2 消息中间件的案例
- 9.2.1 RabbitMQ的安装步骤
- 9.2.2 通过RabbitMQ发送和接收消息的案例
- 9.2.3 Kafka的安装步骤
- 9.2.4 通过Kafka发送和接收消息的案例
- 9.3 通过消息总线封装消息中间件
- 9.3.1 基于RabbitMQ的消息总线案例
- 9.3.2 基于Kafka的消息总线案例
- 9.4 Spring Cloud Stream组件的常见用法
- 9.4.1 实现基于RabbitMQ的案例
- 9.4.2 通过更换绑定器变更消息中间件
- 9.4.3 消费组案例演示
- 9.4.4 消息分区实例演示
- 9.5 本章小结
- 第10章 微服务健康检查与服务跟踪
- 10.1 通过Spring Boot Admin监控微服务
- 10.1.1 监控单个服务
- 10.1.2 与Eureka的整合
- 10.1.3 设置报警邮件
- 10.2 通过Sleuth组件跟踪服务调用链路
- 10.2.1 基于Sleuth案例的总体说明
- 10.2.2 关于服务提供者案例的说明
- 10.2.3 关于服务调用者案例的说明
- 10.2.4 通过运行效果了解Sleuth组件
- 10.2.5 通过Sleuth组件分析问题的一般方法
- 10.3 整合Zipkin查询和分析日志
- 10.3.1 搭建Zipkin服务器
- 10.3.2 从Zipkin图表上查看Sleuth发来的日志
- 10.3.3 在MySQL中保存Zipkin数据
- 10.3.4 如何根据Zipkin结果观察调用链路
- 10.4 本章小结
- 第11章 用Spring Boot开发Web案例
- 11.1 在Spring Boot中整合JSP及MVC
- 11.1.1 以Maven的形式创建Web项目
- 11.1.2 在Spring Boot中引入JSP(基于Maven)
- 11.1.3 在Spring Boot中引入MVC架构和数据库服务
- 11.2 Spring Security与Spring Boot的整合
- 11.2.1 身份验证的简单做法
- 11.2.2 进行动态身份验证的做法
- 11.2.3 Spring Boot Security身份验证的开发要点
- 11.2.4 根据用户的角色分配不同的资源
- 11.3 在Web项目中整合Eureka、Ribbon等组件
- 11.3.1 本案例的框架与包含的项目说明
- 11.3.2 开发Eureka服务器模块
- 11.3.3 开发前端Web项目
- 11.3.4 开发提供用户验证的项目
- 11.3.5 开发提供账户查询功能的项目(含负载均衡)
- 11.4 本章小结
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。