×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

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

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

1星价 ¥62.3 (7.0折)
2星价¥62.3 定价¥89.0
暂无评论
图文详情
  • ISBN:9787302619499
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:260
  • 出版时间:2022-12-01
  • 条形码:9787302619499 ; 978-7-302-61949-9

本书特色

以实现分布式高并发微服务项目为目标,全面介绍Spring Cloud Alibaba微服务框架各个组件的功能与使用场景。 介绍了如何使用Spring Cloud Alibaba组件实现服务治理、负载均衡、安全管理、分布式事务、消息发送和服务监控等微服务项目的技术要点。 详细介绍了如何使用Docker和Kubernetes容器组件管理微服务项目的实践要点。 介绍了基于Jenkins的微服务项目的集成技术,以使读者能从项目架构和部署层面掌握微服务项目的开发技巧。 全书注重实践并辅之以原理,提供了翔实的案例和经过实践的源码,可以帮助读者高效地掌握微服务开发与部署的企业级开发技能。 实战讲解,提升你的段位代码详尽剖析,易学易用

内容简介

本书围绕分布式微服务的项目需求,全面讲述了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基础的开发人员和学生阅读,也可以供培训机构和大专院校作为教学用书。

目录

第1章Spring Cloud Alibaba与微服务架构1

1.1微服务架构与Alibaba解决方案1

1.1.1单体架构与微服务架构1

1.1.2微服务架构的优势与挑战2

1.1.3Spring Cloud Alibaba微服务解决方案3

1.1.4Spring Boot和Spring Cloud Alibaba的关系3

1.2搭建开发环境4

1.2.1安装JDK4

1.2.2安装IntelliJ IDEA4

1.2.3安装Docker环境5

1.3搭建Spring Boot单体服务5

1.3.1在IDEA中创建Spring Boot项目5

1.3.2编写pom.xml7

1.3.3编写启动类8

1.3.4编写控制器类8

1.3.5编写配置文件9

1.3.6启动Spring Boot,观察运行效果9

1.4动手练习9

第2章Spring Boot整合Nacos11

2.1认识和安装Nacos11

2.1.1Nacos与注册中心11

2.1.2Nacos与配置中心12

2.1.3搭建Nacos环境,启动Nacos组件12

2.1.4观察可视化管理界面12

2.2Spring 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章负载均衡组件Ribbon27

3.1负载均衡与Ribbon组件27

3.1.1微服务架构中的负载均衡需求27

3.1.2Ribbon组件介绍28

3.1.3Ribbon和Nacos的整合方式28

3.2Ribbon实现负载均衡的范例28

3.2.1项目框架图29

3.2.2编写服务提供者项目29

3.2.3在服务调用者项目里引入Ribbon31

3.2.4观察负载均衡效果33

3.3Ribbon实战要点分析34

3.3.1设置不同的负载均衡策略34

3.3.2配置全局性的Ribbon参数34

3.3.3实现Ribbon饥饿加载模式35

3.3.4Ribbon常用参数分析35

3.4Ribbon整合Nacos注册中心集群36

3.4.1整合后的系统架构36

3.4.2Ribbon整合Nacos集群的实现步骤36

3.5动手练习37

第4章限流与防护组件Sentinel38

4.1微服务体系中的限流和防护需求38

4.1.1限流38

4.1.2熔断38

4.1.3服务降级39

4.2Sentinel组件介绍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章网关组件Gateway55

5.1Gateway网关组件概述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.3Gateway整合Nacos,实现负载均衡61

5.3.1Gateway整合Nacos的架构图61

5.3.2基于Nacos的业务集群62

5.3.3以负载均衡的方式转发请求62

5.4Gateway整合Sentinel和Nacos64

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章声明式服务调用框架OpenFeign73

6.1OpenFeign框架概述73

6.2使用OpenFeign框架调用服务73

6.2.1基于Nacos的服务提供者74

6.2.2OpenFeign调用服务实现代码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章远端调用组件Dubbo83

7.1Dubbo组件概述83

7.1.1远端方法调用流程和Dubbo组件83

7.1.2使用Nacos作为注册中心84

7.1.3Dubbo和HTTP调用方式的差别84

7.2Dubbo远端调用范例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.4Dubbo的安全措施分析98

7.5动手练习98

第8章Spring Cloud Steam整合消息中间件100

8.1消息中间件与Spring Cloud Stream框架100

8.1.1RocketMQ消息中间件100

8.1.2RabbitMQ消息中间件101

8.1.3Spring Cloud Steam封装消息中间件102

8.2Spring Cloud Stream整合RocketMQ102

8.2.1搭建RocketMQ环境102

8.2.2整合后的消息框架图103

8.2.3编写消息发送者项目104

8.2.4编写消息接收者项目106

8.2.5观察消息通信效果108

8.3Spring Cloud Stream整合RabbitMQ108

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.1JPA访问数据库的接口113

9.1.2创建MySQL数据库和数据表114

9.1.3通过JPA实现增删改查功能114

9.1.4观察JPA操作数据库的效果118

9.2微服务整合Redis缓存119

9.2.1Redis概述119

9.2.2搭建Redis运行环境120

9.2.3微服务整合Redis缓存121

9.2.4微服务整合MySQL与Redis124

9.3微服务整合MyCat分库组件129

9.3.1MyCat分库组件概述129

9.3.2搭建MyCat环境实现分库效果130

9.3.3微服务整合MyCat实现分库效果132

9.3.4微服务整合MyCat和Redis134

9.4动手练习135

第10章Spring Cloud Alibaba Seata实现分布式事务137

10.1分布式事务与Seata组件137

10.1.1分布式业务和分布式事务137

10.1.2Seata组件概述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.1Spring Cloud整合Seata集群的架构图152

10.3.2搭建Seata集群153

10.3.3微服务项目整合Seata集群156

10.4动手练习157

第11章微服务监控组件Skywalking158

11.1服务监控与Skywalking组件158

11.1.1微服务监控方面的需求158

11.1.2Skywalking组件介绍159

11.1.3搭建Skywalking组件运行环境159

11.2微服务项目整合Skywalking组件161

11.2.1介绍待监控的项目161

11.2.2下载并配置agent161

11.2.3监控项目运行情况162

11.3整合logback监控整条链路164

11.3.1服务链路框架164

11.3.2整合logback,定义监控日志格式165

11.3.3观察链路调用的日志,观察TID167

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.1Docker与Spring Cloud微服务174

12.1.1Docker镜像、容器和虚拟化管理引擎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 Boot179

12.3容器化管理组件180

12.3.1容器化管理Nacos组件180

12.3.2容器化管理Sentinel181

12.3.3通过Docker容器部署MySQL182

12.3.4通过Docker容器部署Redis183

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和Redis194

13.3.3容器化部署并运行Nacos和Sentinel195

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 Boot205

14.1Kubernetes概述205

14.1.1Kubernetes的作用205

14.1.2准备Kubernetes环境206

14.1.3Kubernetes与Docker容器的关系206

14.1.4Kubernetes的Service207

14.1.5Kubernetes的Labels207

14.1.6Deployment的概念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和Deployment210

14.2.5查看Pod运行日志211

14.3Kubernetes常用实战技巧211

14.3.1删除Pod、Service和Deployment211

14.3.2伸缩节点212

14.3.3自动伸缩节点212

14.3.4创建Deployment并开放端口213

14.3.5进入Pod,执行命令214

14.4用Ingress暴露服务214

14.4.1Ingress简介215

14.4.2Ingress整合Service的做法215

14.5动手练习216

第15章用Kubernetes编排Spring Cloud Alibaba微服务217

15.1用Kubernetes编排组件217

15.1.1编排MySQL217

15.1.2编排Redis220

15.1.3StatefulSet和Deployment的差别221

15.1.4用StatefulSet编排Nacos222

15.1.5用StatefulSet编排Sentinel223

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.1Git工具与持续集成概述233

16.1.1持续集成概述233

16.1.2搭建Git代码仓库234

16.1.3安装Git组件234

16.1.4在IDEA里整合Git235

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


展开全部

作者简介

曹 宇,副教授,从事高校教育工作17年,主要研究领域为计算机应用技术,主讲Java编程课程多年,主导开发了EPC企业专利信息协同平台、大宗商品信息管理系统等多个项目,公开发表论文数十篇。 王宇翔,副教授,从事高校教育工作20年,主要研究领域为计算机应用技术,主讲Java、微服务等课程,主持上海市教委 “电子商务技术双证融通改革项目” 等项目校内的实施管理,有多年Java教学经验。 胡书敏,硕士,有15年Java开发经验,资深Java架构师,有平安、花旗和IBM等大厂的工作经验,同时还有近8年Java技术面试官的经验。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航