• Spring Cloud Alibaba与Kubernetes微服务容器化实践
  • Spring Cloud Alibaba与Kubernetes微服务容器化实践
  • Spring Cloud Alibaba与Kubernetes微服务容器化实践
  • Spring Cloud Alibaba与Kubernetes微服务容器化实践
21年品牌 40万+商家 超1.5亿件商品

Spring Cloud Alibaba与Kubernetes微服务容器化实践

15 1.7折 89 九五品

仅1件

四川成都
认证卖家担保交易快速发货售后保障

作者曹宇;王宇翔;胡书敏

出版社清华大学出版社

出版时间2022-12

版次1

装帧其他

货号L404

上书时间2024-09-09

新兴新圣图书店

五年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九五品
未拆封,如实图
图书标准信息
  • 作者 曹宇;王宇翔;胡书敏
  • 出版社 清华大学出版社
  • 出版时间 2022-12
  • 版次 1
  • ISBN 9787302619499
  • 定价 89.00元
  • 装帧 其他
  • 开本 16开
  • 纸张 胶版纸
  • 页数 248页
  • 字数 439千字
【内容简介】
本书围绕分布式微服务的项目需求,全面讲述了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
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

未拆封,如实图
此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP