成功加入购物车
图书条目标准图
曹宇 ; 王宇翔 ; 胡书敏 / 清华大学出版社 / 2022-12 / 其他
售价 ¥ 47.38 5.3折
定价 ¥89.00
品相 九五品
延迟发货说明
上书时间2026-01-15
卖家超过10天未登录
Spring Cloud Alibaba与Kubernetes微服务容器化实践
本书围绕分布式微服务的项目需求,全面讲述了Spring Cloud Alibaba组件实现服务治理、负载均衡、安全管理、分布式事务、消息发送和服务监控的技术要点,以及基于Docker与Kubernetes容器化项目管理的相关技术。主要内容包括:Spring Cloud Alibaba体系架构概述,用Nacos和Nacos集群搭建基于服务治理架构的实践要点,用Ribbon实现负载均衡的做法,基于Sentinel组件实现熔断和限流等安全需求的实践要点,用Gateway组件搭建网关的实践要点,用OpenFeign和Dubbo搭建远程调用体系的实践要点,基于Spring Cloud Stream搭建消息通信体系的实践要点,用JPA与Redis与MyCat搭建微服务数据服务层的实践要点,用Seata组件构建分布式事务架构的实践要点和用Skywaiking组件搭建微服务监控体系的实践要点,基于Docker与Kubernetes容器组件搭建微服务体系,用Jenkins组件实践集成化项目部署流程的相关技术等内容。 本书技术先进,注重实践,适合有一定Java基础的开发人员和学生阅读,也可以供培训机构和大专院校作为教学用书。
曹 宇,副教授,从事高校教育工作17年,主要研究领域为计算机应用技术,主讲Java编程课程多年,主导开发了EPC企业专利信息协同平台、大宗商品信息管理系统等多个项目,公开发表论文数十篇。 王宇翔,副教授,从事高校教育工作20年,主要研究领域为计算机应用技术,主讲Java、微服务等课程,主持上海市 “电子商务技术双证融通改革项目” 等项目校内的实施管理,有多年Java教学经验。 胡书敏,硕士,有15年Java开发经验,资深Java架构师,有平安、花旗和IBM等大厂的工作经验,同时还有近8年Java技术面试官的经验。
第1章 Spring Cloud Alibaba与微服务架构 1 1.1 微服务架构与Alibaba解决方案 1 1.1.1 单体架构与微服务架构 1 1.1.2 微服务架构的优势与挑战 2 1.1.3 Spring Cloud Alibaba微服务解决方案 3 1.1.4 Spring Boot和Spring Cloud Alibaba的关系 3 1.2 搭建开发环境 4 1.2.1 安装JDK 4 1.2.2 安装IntelliJ IDEA 4 1.2.3 安装Docker环境 5 1.3 搭建Spring Boot单体服务 5 1.3.1 在IDEA中创建Spring Boot项目 5 1.3.2 编写pom.xml 7 1.3.3 编写启动类 8 1.3.4 编写控制器类 8 1.3.5 编写配置文件 9 1.3.6 启动Spring Boot,观察运行效果 9 1.4 动手练习 9 第2章 Spring Boot整合Nacos 11 2.1 认识和安装Nacos 11 2.1.1 Nacos与注册中心 11 2.1.2 Nacos与配置中心 12 2.1.3 搭建Nacos环境,启动Nacos组件 12 2.1.4 观察可视化管理界面 12 2.2 Spring Boot整合Nacos注册中心 13 2.2.1 引入注册中心后的框架图 13 2.2.2 创建服务提供者项目 13 2.2.3 创建服务消费者项目 15 2.2.4 启动Spring Boot类,观察注册中心的效果 17 2.3 用Nacos配置中心管理配置参数 18 2.3.1 在配置中心设置参数 18 2.3.2 在项目中使用参数 19 2.4 搭建高可用的Nacos集群 21 2.4.1 配置Nacos的持久化效果 21 2.4.2 搭建集群 22 2.4.3 观察集群效果 23 2.4.4 以集群的方式管理配置 24 2.4.5 以集群的方式管理服务 24 2.5 动手练习 25 第3章 负载均衡组件Ribbon 27 3.1 负载均衡与Ribbon组件 27 3.1.1 微服务架构中的负载均衡需求 27 3.1.2 Ribbon组件介绍 28 3.1.3 Ribbon和Nacos的整合方式 28 3.2 Ribbon实现负载均衡的范例 28 3.2.1 项目框架图 29 3.2.2 编写服务提供者项目 29 3.2.3 在服务调用者项目里引入Ribbon 31 3.2.4 观察负载均衡效果 33 3.3 Ribbon实战要点分析 34 3.3.1 设置不同的负载均衡策略 34 3.3.2 配置全局性的Ribbon参数 34 3.3.3 实现Ribbon饥饿加载模式 35 3.3.4 Ribbon常用参数分析 35 3.4 Ribbon整合Nacos注册中心集群 36 3.4.1 整合后的系统架构 36 3.4.2 Ribbon整合Nacos集群的实现步骤 36 3.5 动手练习 37 第4章 限流与防护组件Sentinel 38 4.1 微服务体系中的限流和防护需求 38 4.1.1 限流 38 4.1.2 熔断 38 4.1.3 服务降级 39 4.2 Sentinel组件介绍 39 4.2.1 搭建Sentinel环境 39 4.2.2 启动Sentinel控制台 40 4.3 通过Sentinel实现限流 40 4.3.1 创建项目,引入依赖包 40 4.3.2 编写启动类和配置文件 41 4.3.3 编写控制器类 42 4.3.4 在控制台里设置限流参数 42 4.3.5 观察限流效果 44 4.4 实现热点限流效果 45 4.4.1 定义热点限流方法 45 4.4.2 设置热点限流参数 45 4.4.3 观察热点限流效果 46 4.4.4 配置参数例外项 47 4.5 实现熔断效果 48 4.5.1 定义含熔断效果的方法 48 4.5.2 设置慢调用比例熔断参数 48 4.5.3 观察熔断效果 50 4.5.4 设置异常熔断参数 51 4.6 实现服务降级效果 52 4.6.1 实现因限流而导致的服务降级 52 4.6.2 通过fallback参数实现服务降级 53 4.6.3 服务降级的实践做法 53 4.7 动手练习 54 第5章 网关组件Gateway 55 5.1 Gateway网关组件概述 55 5.2 在微服务体系中引入Gateway组件 56 5.2.1 编写业务方法 56 5.2.2 创建网关项目 56 5.2.3 实现简单转发功能 57 5.2.4 网关的过滤器 58 5.2.5 网关的全局过滤器 59 5.2.6 网关的断言 60 5.3 Gateway整合Nacos,实现负载均衡 61 5.3.1 Gateway整合Nacos的架构图 61 5.3.2 基于Nacos的业务集群 62 5.3.3 以负载均衡的方式转发请求 62 5.4 Gateway整合Sentinel和Nacos 64 5.4.1 整合后的架构图 64 5.4.2 搭建网关层项目 65 5.4.3 启动项目和组件 66 5.4.4 根据路由规则限流 67 5.4.5 根据API分组限流 68 5.4.6 配置服务熔断效果 69 5.5 通过Gateway实现灰度发布 69 5.5.1 灰度发布的做法 69 5.5.2 准备灰度发布的环境 70 5.5.3 用Gateway实现灰度发布 70 5.5.4 观察灰度发布的效果 71 5.6 动手练习 72 第6章 声明式服务调用框架OpenFeign 73 6.1 OpenFeign框架概述 73 6.2 使用OpenFeign框架调用服务 73 6.2.1 基于Nacos的服务提供者 74 6.2.2 OpenFeign调用服务实现代码 74 6.2.3 观察OpenFeign的效果 76 6.2.4 设置超时时间 76 6.2.5 设置OpenFeign的日志级别 77 6.2.6 压缩请求和返回 78 6.3 实现负载均衡和服务降级 78 6.3.1 搭建业务集群 78 6.3.2 以负载均衡方式调用服务 79 6.3.3 观察负载均衡效果 80 6.3.4 引入服务降级效果 81 6.4 动手练习 82 第7章 远端调用组件Dubbo 83 7.1 Dubbo组件概述 83 7.1.1 远端方法调用流程和Dubbo组件 83 7.1.2 使用Nacos作为注册中心 84 7.1.3 Dubbo和HTTP调用方式的差别 84 7.2 Dubbo远端调用范例 85 7.2.1 编写服务提供者 85 7.2.2 编写服务调用者 87 7.2.3 定义超时时间和重试次数 88 7.2.4 观察远端调用的效果 89 7.3 注册中心集群和负载均衡 89 7.3.1 系统架构和项目说明 90 7.3.2 实现要点分析 90 7.3.3 观察负载均衡和高可用效果 92 7.3.4 设置Dubbo负载均衡方式 92 7.4 整合Sentinel引入安全防护 93 7.4.1 服务提供端的限流和熔断 93 7.4.2 服务提供端的服务降级 96 7.4.3 服务调用端的服务降级 96 7.4.4 Dubbo的安全措施分析 98 7.5 动手练习 98 第8章 Spring Cloud Steam整合消息中间件 100 8.1 消息中间件与Spring Cloud Stream框架 100 8.1.1 RocketMQ消息中间件 100 8.1.2 RabbitMQ消息中间件 101 8.1.3 Spring Cloud Steam封装消息中间件 102 8.2 Spring Cloud Stream整合RocketMQ 102 8.2.1 搭建RocketMQ环境 102 8.2.2 整合后的消息框架图 103 8.2.3 编写消息发送者项目 104 8.2.4 编写消息接收者项目 106 8.2.5 观察消息通信效果 108 8.3 Spring Cloud Stream整合RabbitMQ 108 8.3.1 搭建RabbitMQ环境 108 8.3.2 整合后的消息框架图 109 8.3.3 编写消息发送者项目 109 8.3.4 编写消息接收者项目 110 8.3.5 观察消息通信效果 111 8.4 动手练习 111 第9章 JPA Redis MyCat搭建微服务数据库服务层 113 9.1 用JPA组件操作数据库 113 9.1.1 JPA访问数据库的接口 113 9.1.2 创建MySQL数据库和数据表 114 9.1.3 通过JPA实现增删改查功能 114 9.1.4 观察JPA操作数据库的效果 118 9.2 微服务整合Redis缓存 119 9.2.1 Redis概述 119 9.2.2 搭建Redis运行环境 120 9.2.3 微服务整合Redis缓存 121 9.2.4 微服务整合MySQL与Redis 124 9.3 微服务整合MyCat分库组件 129 9.3.1 MyCat分库组件概述 129 9.3.2 搭建MyCat环境实现分库效果 130 9.3.3 微服务整合MyCat实现分库效果 132 9.3.4 微服务整合MyCat和Redis 134 9.4 动手练习 135 第10章 Spring Cloud Alibaba Seata实现分布式事务 137 10.1 分布式事务与Seata组件 137 10.1.1 分布式业务和分布式事务 137 10.1.2 Seata组件概述 138 10.1.3 搭建Seata服务端开发环境 139 10.2 用Seata实现分布式事务的范例 141 10.2.1 数据库和分布式事务描述 141 10.2.2 开发库存微服务项目 142 10.2.3 在订单项目里实现分布式事务 147 10.2.4 观察分布式事务效果 151 10.3 搭建高可用的Seata集群 152 10.3.1 Spring Cloud整合Seata集群的架构图 152 10.3.2 搭建Seata集群 153 10.3.3 微服务项目整合Seata集群 156 10.4 动手练习 157 第11章 微服务监控组件Skywalking 158 11.1 服务监控与Skywalking组件 158 11.1.1 微服务监控方面的需求 158 11.1.2 Skywalking组件介绍 159 11.1.3 搭建Skywalking组件运行环境 159 11.2 微服务项目整合Skywalking组件 161 11.2.1 介绍待监控的项目 161 11.2.2 下载并配置agent 161 11.2.3 监控项目运行情况 162 11.3 整合logback监控整条链路 164 11.3.1 服务链路框架 164 11.3.2 整合logback,定义监控日志格式 165 11.3.3 观察链路调用的日志,观察TID 167 11.4 观察Skywalking告警效果 168 11.4.1 配置Skywalking告警规则 169 11.4.2 观察告警效果 170 11.4.3 通过webhooks传递告警信息 171 11.5 动手练习 172 第12章 Docker部署Spring Boot项目和微服务组件 174 12.1 Docker与Spring Cloud微服务 174 12.1.1 Docker镜像、容器和虚拟化管理引擎 174 12.1.2 搭建Docker环境 175 12.1.3 用Docker管理微服务的方式 175 12.2 容器化管理Spring Boot项目 176 12.2.1 准备Spring Boot项目 176 12.2.2 打成jar包 178 12.2.3 用jar包制作镜像 179 12.2.4 以容器化的方式运行Spring Boot 179 12.3 容器化管理组件 180 12.3.1 容器化管理Nacos组件 180 12.3.2 容器化管理Sentinel 181 12.3.3 通过Docker容器部署MySQL 182 12.3.4 通过Docker容器部署Redis 183 12.4 动手练习 184 第13章 Docker部署Spring Cloud Alibaba微服务项目 185 13.1 员工管理微服务系统架构分析 185 13.1.1 微服务项目的表现形式与优势 185 13.1.2 基于Docker容器的微服务架构 186 13.1.3 业务功能点与数据表结构 186 13.2 开发员工管理微服务项目 187 13.2.1 开发员工管理模块 187 13.2.2 开发网关模块 192 13.3 容器化部署员工管理微服务 194 13.3.1 打包员工管理和网关模块 194 13.3.2 容器化部署并运行MySQL和Redis 194 13.3.3 容器化部署并运行Nacos和Sentinel 195 13.3.4 容器化部署员工管理模块 195 13.3.5 容器化部署网关模块 196 13.3.6 观察微服务容器化效果 197 13.3.7 引入限流和熔断措施 198 13.4 扩容与灰度发布 199 13.4.1 演示扩容效果 199 13.4.2 演示灰度发布流程 202 13.5 动手练习 203 第14章 Kubernetes整合Spring Boot 205 14.1 Kubernetes概述 205 14.1.1 Kubernetes的作用 205 14.1.2 准备Kubernetes环境 206 14.1.3 Kubernetes与Docker容器的关系 206 14.1.4 Kubernetes的Service 207 14.1.5 Kubernetes的Labels 207 14.1.6 Deployment的概念 207 14.2 用Kubernetes编排Spring Boot容器 208 14.2.1 基于Spring Boot的Docker容器 208 14.2.2 编写Service和Deployment配置文件 208 14.2.3 通过命令编排Spring Boot容器 209 14.2.4 观察Pod、Service和Deployment 210 14.2.5 查看Pod运行日志 211 14.3 Kubernetes常用实战技巧 211 14.3.1 删除Pod、Service和Deployment 211 14.3.2 伸缩节点 212 14.3.3 自动伸缩节点 212 14.3.4 创建Deployment并开放端口 213 14.3.5 进入Pod,执行命令 214 14.4 用Ingress暴露服务 214 14.4.1 Ingress简介 215 14.4.2 Ingress整合Service的做法 215 14.5 动手练习 216 第15章 用Kubernetes编排Spring Cloud Alibaba微服务 217 15.1 用Kubernetes编排组件 217 15.1.1 编排MySQL 217 15.1.2 编排Redis 220 15.1.3 StatefulSet和Deployment的差别 221 15.1.4 用StatefulSet编排Nacos 222 15.1.5 用StatefulSet编排Sentinel 223 15.2 用Kubernetes编排员工管理模块 225 15.2.1 微服务框架说明 225 15.2.2 员工管理项目的实现要点 226 15.2.3 编排员工管理微服务模块 228 15.2.4 观察Kubernetes编排微服务项目的效果 229 15.2.5 引入限流和熔断等效果 230 15.2.6 编排微服务项目的实践要点 231 15.3 动手练习 232 第16章 基于Jenkins的微服务CI/CD实战 233 16.1 Git工具与持续集成概述 233 16.1.1 持续集成概述 233 16.1.2 搭建Git代码仓库 234 16.1.3 安装Git组件 234 16.1.4 在IDEA里整合Git 235 16.2 用Git实践持续集成 236 16.2.1 待管理的项目代码综述 236 16.2.2 在Git仓库中初始化项目 236 16.2.3 在本地获取远端项目代码 238 16.2.4 创建开发分支 239 16.2.5 提交和推送代码 240 16.2.6 把开发代码合并到主分支 241 16.3 通过Jenkins实践持续交付 242 16.3.1 持续交付概述 242 16.3.2 持续交付需求概述 243 16.3.3 在本地搭建Jenkins环境 243 16.3.4 创建Jenkins任务 244 16.3.5 观察持续交付的实施结果 246 16.4 动手练习 247
展开全部
配送说明
...
相似商品
为你推荐
开播时间:09月02日 10:30