Spring Cloud实战

《Spring Cloud实战》

  • 出版社:清华大学出版社
  • ISBN:9787302527220
  • 版次:1
  • 商品编码:12537121
  • 品牌:清华大学出版社(TsinghuaUniversityPress)
  • 包装:平装
  • 开本:16开
  • 出版时间:2019-06-01
  • 用纸:胶版纸
  • 页数:219
  • 字数:371000
基本介绍书籍目录点评信息
  • 书籍内容

    本书以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微服务开发技巧。

    编辑推荐

    本书可以看成为Spring Cloud微服务组件架构案例实战指南,站在架构设计的角度,从“服务治理”“负载均衡”“容错保护”“网关”和“消息通信”等角度向大家逐一介绍Spring Cloud中的常用组件。
    在本书每个介绍“架构级”组件的章节中,大家不会看到大段引经据典的文字,而是能看到有实践意义的案例。而且,每个案例均配有视频讲解,大家能很快在自己的机器上调试通过(免去了很多自己试错的时间),通过运行这些案例,读者能快速地掌握架构级别相关组件的作用和一般用法。

    作者简介

    胡书敏,在外企和互联网公司有五年资深架构师工作经验,博客园知名博主,出版过多本Java方面的书籍,搭建过多个支付和数据分析方面的微服务架构。
  • 目 录
    第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 通过服务调用者调用服务 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章 负载均衡组件: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
微信公众号

热门文章

更多