本书源码以Spring Boot 2.2.x、Spring Cloud Hoxton和Kubernetes 1.19.2为基础,从Spring Boot单体应用的搭建,到Spring Cloud微服务架构升级,再到使用Docker和Kubernetes容器编排技术做容器化改造,由浅入深、逐步讲解,使读者全面掌握主流微服务架构和容器编排方案。本书共22章,分为三个部分。第一部分,讲解Spring Boot的核心功能和底层原理,手把手带读者搭建一个基于Spring Boot的优惠券平台单体应用系统。第二部分,讲解Spring Cloud微服务技术的应用,涵盖了Spring Cloud Netflix和Spring Cloud Alibaba两大组件库的核心组件,在项目实战环节,将Spring Cloud微服务技术应用到优惠券项目中,让读者亲身体验从单体应用升级为微服务架构的过程。第三部分,深入讲解Docker容器技术和Kubernetes容器编排技术的核心功能,并对优惠券项目做容器化改造。本书紧扣实战、学练结合,适合具备一定Java基础的开发人员、对微服务架构和Spring Cloud技术及容器编排技术感兴趣的读者。对处在微服务架构转型期的团队来说,本书具有很大的实践指导价值。


作者

姚秋辰 

PayPal研发经理,拥有十余年系统架构设计与团队管理经验,专注于互联网电商、金融和支付等领域的高可用系统设计,在微服务系统的架构设计上有丰富的实践经验。曾就职于eBay、阿里、SAP和HP,参与或主导过多个大型应用的微服务改造、稳定性优化和主链路高可用等方案设计。

张昕 

StubHub国际互联网票务公司DevOps团队和云平台负责人,OpenGroup认证架构大师,IBM和eBay前高级架构师。拥有十余年系统架构设计与咨询管理经验,曾主导多家国内外大型金融机构、电信运营商和互联网公司的系统优化、云平台转型、容灾多活、单元化设计,对微服务拆分管理、容器编排部署、系统安全性、可用性、扩展性等设计有着丰富的实战经验。

卿睿 

PayPal高级架构师,拥有十多年的架构设计经验,涉足的领域从企业应用到大型互联网产品。在分布式和大型系统设计方面都有丰富的理论知识和实践经验,主导过多个全球性项目的架构设计和落地。对DDD有深入的认知,并基于此打造了多个从0到1的产品。此外,曾带领团队完成多个大型系统微服务化改造和云架构迁移。曾先后在HP、Accenture和eBay等公司担任架构师,目前专注于电商、合规等领域。


查看全部
目录

作者介绍

内容简介

推荐序

专家力荐

前言

第1章 热身运动

1.1 准备工作

1.2 JavaWeb开发的进化史

第2章 SpringBoot介绍

2.1 SpringBoot的前尘往事

2.2 SpringBoot的设计理念

2.3 SpringBoot的核心功能

第3章 SpringBoot实战

3.1 创建SpringBoot项目

3.2 项目运行打包

3.3 SpringBoot管理日志

3.4 数据访问

3.5 消息系统

3.6 应用安全管理

3.7 定时任务

3.8 SpringBoot项目测试

第4章 微服务与SpringCloud

4.1 什么是微服务架构

4.2 微服务的拆分规范

4.3 大厂微服务架构的服务治理方案

4.4 了解SpringCloud

4.5 了解SpringCloud组件库

4.6 实战项目技术选型

第5章 使用Eureka实现服务治理

5.1 什么是服务治理

5.2 SpringCloud中常用的注册中心

5.3 分布式系统理论

5.4 Eureka核心概念

5.5 优惠券项目改造——高可用注册中心

5.6 coupon-template-service微服务架构升级

5.7 改造coupon-calculator

5.8 改造coupon-user-service服务

5.9 Eureka中的其他配置参数

第6章 使用Nacos实现服务治理

6.1 什么是Nacos

6.2 Nacos的核心功能

6.3 Nacos下载与安装

6.4 Nacos实战

第7章 使用Ribbon实现负载均衡

7.1 什么是负载均衡

7.2 了解Ribbon

7.3 了解Ribbon的负载均衡器

7.4 IPing机制

7.5 微服务项目架构升级

第8章 使用OpenFeign实现服务间调用

8.1 Feign

8.2 微服务架构升级——使用Feign代理接口调用

第9章 使用Hystrix实现服务间容错

9.1 Hystrix

9.2 Hystrix的核心概念

9.3 微服务架构升级——配置熔断和降级

9.4 微服务架构升级——利用Turbine收集Hystrix信息

9.5 微服务架构升级——利用HystrixDashboard观察服务健康度

9.6 启用HystrixDashboard观察服务状态

第10章 使用Sentinel实现限流控制

10.1 服务容错

10.2 Sentinel简介

10.3 Sentinel控制台

10.4 Sentinel与SpringCloud的集成

10.5 使用Sentinel实现降级控制

10.6 使用Sentinel实现限流控制

10.7 Sentinel的日志

第11章 使用SpringCloudConfig和Bus搭建配置中心

11.1 配置中心在微服务中的应用

11.2 了解SpringCloudConfig和Bus

11.3 准备工作——创建GitHub文件

11.4 微服务架构升级——搭建高可用的配置中心

11.5 GitHub配置文件命名规则

11.6 对GitHub中的配置项进行加解密

11.7 微服务架构升级——从配置中心读取配置项

第12章 使用SpringCloudGateway搭建服务网关

12.1 了解微服务网关

12.2 SpringCloudGateway的核心概念——路由、谓词和过滤器

12.3 路由功能

12.4 微服务架构改造——搭建网关模块

12.5 微服务架构升级——使用Redis+Lua做流控

第13章 使用Sleuth进行调用链路追踪

13.1 为什么微服务架构需要链路追踪

13.2 链路追踪技术介绍

13.3 Sleuth基本数据结构

13.4 微服务架构升级——集成Sleuth实现链路追踪

13.5 微服务架构升级——搭建Zipkin服务器

13.6 微服务架构升级——搭建ELK环境

第14章 使用Stream集成消息队列

14.1 了解Stream

14.2 消息队列在微服务架构中的应用

14.3 消息队列的概念

14.4 微服务架构升级——异步分发优惠券

14.5 微服务架构升级——Stream异常处理

14.6 Stream实现延迟消息

第15章 使用Seata实现分布式事务

15.1 为什么需要分布式事务

15.2 分布式事务的替代方案

15.3 传统的XA分布式事务解决方案

15.4 Seata框架介绍

15.5 Seata的AT模式

15.6 微服务架构升级——搭建Seata服务器

15.7 微服务架构升级——应用改造

第16章 走进容器化的世界

16.1 微服务落地的难点

16.2 容器技术的演进

16.3 容器编排技术先睹为快

第17章 Docker容器技术

17.1 从HelloWorld起步

17.2 Docker架构

17.3 Docker镜像

17.4 Docker容器

17.5 Docker存储

17.6 Docker网络

17.7 进一步感受Docker的魅力

17.8 镜像仓库

17.9 【优惠券项目落地】——Docker容器化

第18章 Kubernetes基础

18.1 了解容器编排

18.2 了解Kubernetes

18.3 Kubernetes基本概念

18.4 Kubernetes集群搭建

18.5 Pod管理

18.6 Controller管理

18.7 【优惠券项目落地】——Kubernetes容器化管理

第19章 Kubernetes网络互联

19.1 跨节点网络

19.2 服务发现与负载均衡

19.3 【优惠券项目落地】——服务发现和互联

第20章 Kubernetes数据存储

20.1 Volume卷

20.2 ConfigMap和Secret

20.3 【优惠券项目落地】——配置和磁盘管理

第21章 Kubernetes高级功能

21.1 容器化的非功能性需求

21.2 安全性

21.3 可用性

21.4 扩展性

21.5 易用性

21.6 可观察性

21.7 【优惠券项目落地】——Kubernetes容器架构终态

第22章 ServiceMesh

22.1 ServiceMesh在微服务中的应用

22.2 从BoofInfo样例起步

22.3 了解Istio架构

22.4 服务治理

22.5 服务安全

22.6 服务监控

22.7 【优惠券项目落地】——非侵入式容器进阶态

查看全部
书评
查看更多
请您登录后发表评论 登录 | 注册
我的评分:
提交
0/400