√ Spring Cloud是集微服务框架之大成的“全家桶”
√ 深入剖析核心组件,透过实例|源码剖析运行原理
√ 简明上手,指导以极低开发成本实现搭建微服务架构
√ 作者亲历大量生产实践,为该技术社区繁荣主要推动者
《Spring Cloud微服务实战》从时下流行的微服务架构概念出发,详细介绍了Spring Cloud针对微服务架构中几大核心要素的解决方案和基础组件。对于各个组件的介绍,《Spring Cloud微服务实战》主要以示例与源码结合的方式来帮助读者更好地理解这些组件的使用方法以及运行原理。同时,在介绍的过程中,还包含了作者在实践中所遇到的一些问题和解决思路,可供读者在实践中作为参考。
《Spring Cloud微服务实战》适合所有Java开发人员,尤其适合正在做微服务架构技术选型或正在实施微服务架构的团队查阅和参考。
第1章 基础知识 1
什么是微服务架构 1
-- 与单体系统的区别 1
-- 如何实施微服务 2
为什么选择Spring Cloud 6
Spring Cloud简介 7
版本说明 8
第2章 微服务构建:Spring Boot 11
框架简介 12
快速入门 13
-- 项目构建与解析 13
-- 实现RESTful API 17
配置详解 20
-- 配置文件 20
-- 自定义参数 22
-- 参数引用 22
-- 使用随机数 23
-- 命令行参数 23
-- 多环境配置 24
-- 加载顺序 25
监控与管理 26
-- 初识actuator 27
-- 原生端点 28
小结 38
第3章 服务治理:Spring Cloud Eureka 39
服务治理 39
-- Netflix Eureka 40
--搭建服务注册中心 41
--注册服务提供者 43
--高可用注册中心 46
--服务发现与消费 48
Eureka详解 51
--基础架构 52
--服务治理机制 52
--源码分析 56
配置详解 65
--服务注册类配置 65
--服务实例类配置 67
跨平台支持 71
第4章 客户端负载均衡:Spring Cloud Ribbon 73
客户端负载均衡 73
RestTemplate详解 75
-- GET请求 75
-- POST请求 77
-- PUT请求 79
-- DELETE请求 79
源码分析 80
-- 负载均衡器 91
-- 负载均衡策略 109
配置详解 123
--自动化配置 124
-- Camden版本对RibbonClient配置的优化 125
-- 参数配置 127
-- 与Eureka结合 127
重试机制 128
第5章 服务容错保护:Spring Cloud Hystrix 130
快速入门 131
原理分析 135
-- 工作流程 135
-- 断路器原理 144
-- 依赖隔离 148
使用详解 151
-- 创建请求命令 151
-- 定义服务降级 154
-- 异常处理 157
-- 命令名称、分组以及线程池划分 158
-- 请求缓存 159
-- 请求合并 166
属性详解 172
-- Command属性 174
-- collapser属性 184
-- threadPool属性 185
Hystrix仪表盘 187
Turbine集群监控 192
-- 构建监控聚合服务 192
-- 与消息代理结合 196
第6章 声明式服务调用:Spring Cloud Feign 199
快速入门 200
参数绑定 202
继承特性 205
Ribbon配置 209
全局配置 209
指定服务配置 209
重试机制 210
Hystrix配置 211
全局配置 211
禁用Hystrix 211
指定命令配置 212
服务降级配置 212
其他配置 214
第7章 API网关服务:Spring Cloud Zuul 217
快速入门 219
-- 构建网关 220
-- 请求路由 221
-- 请求过滤 223
路由详解 226
-- 传统路由配置 226
-- 服务路由配置 228
-- 服务路由的默认规则 229
-- 自定义路由映射规则 229
-- 路径匹配 230
-- 路由前缀 233
-- 本地跳转 234
-- Cookie与头信息 235
-- Hystrix和Ribbon支持 236
过滤器详解 238
-- 过滤器 238
-- 请求生命周期 239
-- 核心过滤器 240
-- 异常处理 244
-- 禁用过滤器 256
动态加载 257
-- 动态路由 257
-- 动态过滤器 261
第8章 分布式配置中心:Spring Cloud Config 267
快速入门 267
-- 构建配置中心 268
-- 配置规则详解 269
-- 客户端配置映射 272
服务端详解 274
-- 基础架构 274
-- Git配置仓库 276
-- SVN配置仓库 279
-- 本地仓库 279
-- 本地文件系统 279
-- 健康监测 280
-- 属性覆盖 281
-- 安全保护 281
-- 加密解密 282
-- 高可用配置 286
客户端详解 286
-- URI指定配置中心 287
-- 服务化配置中心 287
-- 失败快速响应与重试 290
-- 获取远程配置 292
-- 动态刷新配置 293
第9章 消息总线:Spring Cloud Bus 295
消息代理 295
RabbitMQ实现消息总线 296
-- 基本概念 297
-- 安装与使用 298
-- 快速入门 302
-- 整合Spring Cloud Bus 306
-- 原理分析 307
-- 指定刷新范围 308
-- 架构优化 309
-- RabbitMQ配置 310
Kafka实现消息总线 312
-- Kafka简介 312
-- 快速入门 313
--整合Spring Cloud Bus 315
-- Kafka配置 318
深入理解 318
-- 源码分析 320
-- 其他消息代理的支持 342
第10章 消息驱动的微服务:Spring Cloud Stream 344
快速入门 344
核心概念 349
-- 绑定器 350
-- 发布-订阅模式 351
-- 消费组 353
-- 消息分区 354
使用详解 355
-- 开启绑定功能 355
-- 绑定消息通道 356
-- 消息生产与消费 360
-- 响应式编程 366
-- 消费组与消息分区 368
-- 消息类型 370
绑定器详解 373
-- 绑定器SPI 373
-- 自动化配置 374
-- 多绑定器配置 374
-- RabbitMQ与Kafka绑定器 376
配置详解 376
-- 基础配置 377
-- 绑定通道配置 377
-- 绑定器配置 379
第11章 分布式服务跟踪:Spring Cloud Sleuth 386
快速入门 386
-- 准备工作 386
-- 实现跟踪 389
跟踪原理 390
抽样收集 392
与Logstash整合 394
与Zipkin整合 397
-- HTTP收集 398
-- 消息中间件收集 402
-- 收集原理 404
-- 数据存储 414
-- API接口 417
附录A Starter POMs 419
后记 421
本书从时下流行的微服务架构概念出发,结合Spring Cloud的解决方案,深入浅出地剖析了其在构建微服务架构中所需的各个基础设施和技术要点,包括服务治理、容错保护、API网关、配置管理、消息总线等。作者不仅对如何使用各个组件做了详细介绍,还从原理上做了很多分析,可以帮助读者更好地理解Spring Cloud的运行原理,这有助于我们在实战中有效地排错和做进一步扩展。本书是微服务架构方面非常不错的实战书籍,强烈推荐正在做微服务实践或打算实施微服务的团队作为参考资料。
——南志文
百联全渠道研发总监
Spring Cloud的诞生对于没有足够资金投入或者技术储备实力的技术团队是一种福音。利用Spring Cloud的一站式解决方案,可以很轻松地搭建起微服务架构的软件系统,大大减少了开发成本,从容应对业务的快速发展。本书是国内首本Spring Cloud的实战书籍,给我带来了无限惊喜。作者由浅入深地讲解了基于Spring Cloud构建微服务所需要的各个核心组件,并配有大量实战代码,理论和实践兼备,读后收获颇丰。强烈推荐给每一位对Spring Cloud感兴趣或是打算使用Spring Cloud的技术人员阅读。
——覃罗春
德比软件产品开发负责人
当下至火的词无外乎就是“微服务”了,但是很多创业公司想要实现微服务架构体系还需要做很多方面的工作才可以逐步实现,所需花费的成本还是较大的。而近年来Spring boot/Cloud生态架构体系的出现为行业提供了一站式解决方案,解决了不少公司的架构选型和维护方面的难题。本书是国内首本以Spring Cloud为技术蓝本的微服务类实战书籍,不仅结合实际案例介绍了Spring Cloud的使用,还从源码的角度深入分析了原理实现,强烈推荐每一位开发者和架构师收藏和学习。
——程超
合众支付资深技术专家
随着微服务架构的兴起,企业IT架构开始变革,国内出现首批微服务实战布道者。本书作者翟永超,作为Spring Cloud中国社区联合发起人和国内首批Spring Cloud实践与布道者,发表的博文超过数百万次访问量。他的《Spring Cloud微服务实战》一书,累积了大量生产实战经验,把Spring Cloud常用组件通过案例剖析,可帮助企业和开发者快速实施微服务架构。
——许进(xujin.org)
Spring Cloud中国社区创始人
中间件高级研发工程师
近几年,微服务概念逐渐深入人心。国内各家互联网公司都引入了相应的实践。而被应用至多的就是Spring Cloud这套被戏称为“全家桶”的微服务框架。它几乎实现了所有微服务的功能实践,而且又完美符合微服务的基础理论,可帮助大家提高工作效率。但是,国内关于Spring Cloud的中文资料相对比较匮乏,很多学习者遍寻入门而不得。在此大背景下,有一些有识之士无私贡献了自己的绵薄之力,本书作者翟永超就是其中一位。这本书对于广大需要在公司中实践微服务的人们来说绝对是一本可以快速上手实现微服务的工作手册。我希望这本书犹如一颗种子,能在国内互联网环境的土壤中生根发芽,变成一棵参天大树。
——吴峻申
上海青客机器人有限公司架构师