描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111632818
以“精巧、够用”为主旨,剖析Spring Cloud组件原理与应用,并以综合案例融合微服务和DevOps实践
本书精巧实用,可快速入门,是Spring Cloud践行者经验集结,兼顾组件应用与原理分析,并融合微服务和DevOps实践案例。本书分为三篇,共计15章内容。基础服务篇(第1~11章),本篇内容是实践微服务常用的知识点和必备技能,需要重点学习。主要介绍了Spring Cloud的全貌,Spring Cloud在服务调用、治理、调用链追踪、熔断及服务网关的实现框架,以及安全与注册中心的使用等。任务与消息篇(第12~14章),主要介绍Spring Cloud对消息与任务流依赖处理的组件应用及其实现原理。微服务实战篇(第15章),给出一个基于Spring Cloud、Docker、OAuth2 的完整案例,全面实践书中所学。
序
前言
第一篇 基础服务篇
第1章 微服务与Spring Cloud2
1.1 架构演进2
1.1.1 服务端架构发展2
1.1.2 微服务架构4
1.2 Spring Cloud面面观7
1.2.1 Spring Cloud与Dubbo对比7
1.2.2 Spring Cloud好在哪里9
1.2.3 Spring Cloud子项目与解决方案10
1.3 小结15
第2章 服务发现:Eureka16
2.1 使用Eureka17
2.1.1 Eureka服务提供方18
2.1.2 Eureka服务调用方19
2.2 进阶场景20
2.3 小结24
第3章 配置中心:Config25
3.1 Spring Cloud Config的组成25
3.2 使用Config Server配置服务端26
3.3 使用Config Client配置客户端29
3.4 进阶场景31
3.4.1 热生效31
3.4.2 高可用32
3.4.3 安全与加解密34
3.4.4 自定义格式文件支持36
3.5 其他仓库的实现配置37
3.6 小结39
第4章 客户端负载均衡:Ribbon40
4.1 使用Ribbon40
4.2 进阶场景42
4.2.1 使用配置类42
4.2.2 使用配置文件42
4.2.3 默认实现43
4.3 小结44
第5章 RESTful客户端:Feign45
5.1 使用Feign45
5.2 进阶场景46
5.2.1 配置与默认实现46
5.2.2 Feign整合Hystrix47
5.2.3 数据压缩48
5.2.4 日志48
5.3 小结49
第6章 熔断器:Hystrix50
6.1 为什么要有熔断50
6.2 熔断原理52
6.3 使用Hystrix55
6.4 Hystrix数据监控58
6.4.1 健康指示器58
6.4.2 监控面板59
6.4.3 聚合监控61
6.5 小结62
第7章 路由网关:Zuul63
7.1 使用Zuul64
7.2 业务场景深入解析65
7.3 小结71
第8章 网关新选择:Gateway72
8.1 使用Gateway73
8.2 路由断言76
8.3 过滤器81
8.4 小结88
第9章 调用链追踪:Spring Cloud Sleuth89
9.1 术语解释90
9.2 Zipkin简介91
9.3 使用Zipkin93
9.4 Span进阶场景97
9.4.1 自定义日志采样策略97
9.4.2 Span的生命周期98
9.4.3 重命名Span99
9.4.4 自定义Span100
9.5 其他场景与配置101
9.6 小结104
第10章 加密管理:Vault105
10.1 初识HashiCorp Vault105
10.2 整合Spring Cloud Vault111
10.3 认证模式114
10.4 三方组件支持116
10.5 小结118
第11章 公共子项目119
11.1 命令行工具:Spring Boot CLI119
11.1.1 安装Spring Boot CLI119
11.1.2 使用Spring Cloud CLI120
11.1.3 加解密122
11.2 注册中心:Spring Cloud ZooKeeper122
11.2.1 安装ZooKeeper122
11.2.2 基于ZooKeeper服务发现122
11.2.3 相关配置124
11.2.4 节点监听126
11.3 注册中心:Spring Cloud Consul127
11.3.1 安装Consul127
11.3.2 基于Consul注册服务127
11.4 小结128
第二篇 任务与消息篇
第12章 消息驱动:Spring Cloud Stream130
12.1 Stream应用模型130
12.2 示例131
12.3 代码解析133
12.4 Spring Integration支持137
12.5 Binder解析138
12.6 常用配置141
12.7 小结142
第13章 消息总线:Spring Cloud Bus143
13.1 使用Spring Cloud Bus144
13.2 进阶场景144
13.3 小结148
第14章 批处理:Spring Cloud Task149
14.1 使用Spring Cloud Task149
14.2 进阶场景150
14.2.1 数据库集成150
14.2.2 任务事件监听152
14.2.3 相关配置项153
12.4.4 整合Spring Cloud Stream154
14.3 源码解析154
14.4 小结156
第三篇 微服务实战篇
第15章 利用Docker进行编排与整合158
15.1 Docker基础应用158
15.1.1 Docker基础158
15.1.2 Dockerfile基础159
15.2 Spring Cloud核心组件整合161
15.3 Dockerfile编写186
15.4 启动与接口测试188
15.5 小结190
后记191
附录 配置汇总192
为什么要写这本书
从业近十年,一直从事服务端架构与基础平台等方向的工作,积累了些许服务端架构、微服务领域的心得,此前一直通过技术博客、GitHub、技术社区等方式与同行分享和交流。
Spring Cloud作为Spring推出的一个基于微服务的完整解决方案,能够很方便地使企业进行微服务化转型。笔者结合Spring Cloud的微服务落地与推广工作,于实践中更加深了对微服务架构优势的理解。
一次偶然的机会,与策划编辑高婧雅交流后,达成出版意向,开始了写作之旅。
在写作过程中由于工作等个人原因,导致此书的写作计划数次延期,在此郑重对高婧雅编辑表示歉意。幸而在高编辑的不断鞭策与自身的努力下得以成稿。
本书特色
本书力求既全面又精巧,体现在以下方面:揭示Spring Cloud的核心特点、关键原理与应用,对于Spring Cloud中的每个组件,甚至每个可以支持自定义的扩展场景均有深入介绍。
本书从实战、进阶、全面配置三个层次展开介绍,分为三篇。基础服务篇介绍构建一个核心微服务架构不可缺少的部分。任务与消息篇则着重介绍Spring Cloud 针对消息、任务、调用依赖等方面的支持方案。微服务实战篇基于Spring Cloud Docker构建一个精简而又五脏俱全的小项目。
读者对象
架构师
程序开发人员
运维管理人员
其他对微服务感兴趣的人员
如何阅读本书
本书分为三篇,共14章内容。
基础服务篇(第1~9章),本篇内容是实践微服务必备的知识点和技能,需要重点学习。
第1章对微服务演进历程以及Spring Cloud的全貌进行了提纲挈领的介绍,以期读者有全局性认知,使后面的学习不会碎片化。
第2~8章主要介绍了在分布式应用中几个核心场景的Spring Cloud解决方案,分别深入介绍Spring Cloud在服务调用、治理、调用链追踪、熔断及服务网关等方面的实现框架,这些内容是读者实践微服务的基础。
第9章主要介绍了Spring Cloud中注册中心的其他实现和快速调试、开发脚手架。
任务与消息篇(第10~13章),主要介绍消息处理以及任务流依赖处理方面的组件的使用及其实现原理。
微服务实战篇(第14章),本篇是基于Spring Cloud、Docker、OAuth2构建微服务的一个完整案例。
读者可以根据自身情况,全书阅读或者选择性重点阅读。然而,如果你是一名初学者,请在开始阅读本书之前,先进行一些分布式领域基础理论知识的学习。
勘误和支持
由于笔者水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果你有更多宝贵意见,欢迎发邮件至我的个人邮箱[email protected]进行讨论,我会尽量为读者提供最满意的解答。期待得到你们的真挚反馈,在技术之路上互勉共进。
致谢
感谢Spring Cloud 官方文档,在写作期间提供给我最全面、最深入、最准确的参考材料,强大的官方文档支持是其他数据库所无法企及的。
感谢Spring Cloud中文社区的各位技术专家的博客文章,每次阅读必有所获,本书也多处引用了他们的观点和思想。
感谢所在公司的领导及同事,在微服务技术全面落地的过程中给予的极大信任与支持。
特别致谢
最后,我要特别感谢我的父母和妻子,我为写作这本书牺牲了很多陪伴他们的时间,但也正因为有了他们的付出与支持,我才能坚持写下去。
谨以此书献给我最亲爱的家人,以及众多热爱微服务架构的朋友们!
胡劲寒
评论
还没有评论。