作品简介

本书源码以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阿里巴巴两大组件库的核心组件,在项目实战环节,将Spring Cloud微服务技术应用到优惠券项目中,让读者亲身体验从单体应用升级为微服务架构的过程。第三部分,深入讲解Docker容器技术和Kubernetes容器编排技术的核心功能,并对优惠券项目做容器化改造。本书紧扣实战、学练结合,适合具备一定Java基础的开发人员、对微服务架构和Spring Cloud技术及容器编排技术感兴趣的读者。对处在微服务架构转型期的团队来说,本书具有很大的实践指导价值。

姚秋辰

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

张昕

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

卿睿

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

作品目录

  • 推荐序
  • 专家力荐
  • 前言
  • 第1章热身运动
  • 1.1 准备工作
  • 1.2 Java Web开发的进化史
  • 第2章Spring Boot介绍
  • 2.1 Spring Boot的前尘往事
  • 2.2 Spring Boot的设计理念
  • 2.3 Spring Boot的核心功能
  • 第3章Spring Boot实战
  • 3.1 创建Spring Boot项目
  • 3.2 项目运行打包
  • 3.3 Spring Boot管理日志
  • 3.4 数据访问
  • 3.5 消息系统
  • 3.6 应用安全管理
  • 3.7 定时任务
  • 3.8 Spring Boot项目测试
  • 第4章微服务与Spring Cloud
  • 4.1 什么是微服务架构
  • 4.2 微服务的拆分规范
  • 4.3 大厂微服务架构的服务治理方案
  • 4.4 了解Spring Cloud
  • 4.5 了解Spring Cloud组件库
  • 4.6 实战项目技术选型
  • 第5章使用Eureka实现服务治理
  • 5.1 什么是服务治理
  • 5.2 Spring Cloud中常用的注册中心
  • 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 微服务架构升级——利用Hystrix Dashboard观察服务健康度
  • 9.6 启用Hystrix Dashboard观察服务状态
  • 第10章使用Sentinel实现限流控制
  • 10.1 服务容错
  • 10.2 Sentinel简介
  • 10.3 Sentinel控制台
  • 10.4 Sentinel与Spring Cloud的集成
  • 10.5 使用Sentinel实现降级控制
  • 10.6 使用Sentinel实现限流控制
  • 10.7 Sentinel的日志
  • 第11章使用Spring Cloud Config和Bus搭建配置中心
  • 11.1 配置中心在微服务中的应用
  • 11.2 了解Spring Cloud Config和Bus
  • 11.3 准备工作——创建GitHub文件
  • 11.4 微服务架构升级——搭建高可用的配置中心
  • 11.5 GitHub配置文件命名规则
  • 11.6 对GitHub中的配置项进行加解密
  • 11.7 微服务架构升级——从配置中心读取配置项
  • 第12章使用Spring Cloud Gateway搭建服务网关
  • 12.1 了解微服务网关
  • 12.2 Spring Cloud Gateway的核心概念——路由、谓词和过滤器
  • 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章Service Mesh
  • 22.1 Service Mesh在微服务中的应用
  • 22.2 从BoofInfo样例起步
  • 22.3 了解Istio架构
  • 22.4 服务治理
  • 22.5 服务安全
  • 22.6 服务监控
  • 22.7 【优惠券项目落地】——非侵入式容器进阶态
展开全部