《SpringCloudAlibaba与Kubernetes微服务容器化实践》[74M]百度网盘|pdf下载|亲测有效
《SpringCloudAlibaba与Kubernetes微服务容器化实践》[74M]百度网盘|pdf下载|亲测有效

SpringCloudAlibaba与Kubernetes微服务容器化实践 pdf下载

出版社 清华大学出版社京东自营官方旗舰店
出版年 2022-11
页数 390页
装帧 精装
评分 8.8(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供SpringCloudAlibaba与Kubernetes微服务容器化实践电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

内容简介

本书围绕分布式微服务的项目需求,全面讲述了Spring Cloud 组件实现服务治理、负载均衡、安全管理、分布式事务、消息发送和服务监控的技术要点,以及基于Docker与Kubernetes容器化项目管理的相关技术。主要内容包括:Spring Cloud 体系架构概述,用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.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


前言/序言

本书能帮助广大Java程序员在快速掌握Spring Cloud 相关微服务组件的基础上,掌握高效搭建微服务体系的技能。

具体来说,当读者按本书给出的脉络学完 Spring Cloud 的相关组件后,至少能达到一般程序员的技术水准,如果还能通过案例进一步掌握Spring Cloud Alibaba组件整合Docker和Kubernetes搭建微服务体系的技术后,则能进一步具备基于高并发项目开发的相关技能。

本书首先围绕微服务项目开发的普遍需求,讲述了Spring Cloud 组件的实践技巧,如果读者掌握了这些技术,就能在微服务项目里熟练地实现服务治理、负载均衡、安全管理、分布式事务、消息发送和服务监控等需求。

在此基础上,本书围绕分布式高并发项目需求,讲述了用Docker和Kubernetes容器化管理微服务项目的实践要点,同时介绍了基于Jenkins的集成部署技术,读者就能从项目架构和部署层面,进一步掌握微服务项目的容器化开发技巧。

考虑到很多读者可能是第一次接触Spring Cloud Alibaba与Docker和Kubernetes容器化管理等技术,本书从基础概念讲起,为便于读者理解,提供了丰富的实例,给出了实现步骤,读者能在观察运行效果的基础上,有效地通过代码实践,顺利地学习并掌握本书介绍的相关技术。

在实际工作中,笔者发现即使有过3年开发经验的Java程序员,也未必能系统全面地掌握Spring Cloud Alibaba微服务开发相关技能,而对基于Docker和Kubernetes的容器化项目管理技术了解可能也不多,所以本书可帮助广大Java程序员系统地整理微服务和容器化开发等相关技术,有效地积累微服务项目的实战经验。

本书所讲述的知识可以说都是当前开发中的热点,但对于接触相关技术不多的读者来说,可能会有一定难度,但本书从搭建开发环境入手,并提供了全部调试过的代码示例,其中每一行代码都有说明,这种基于实操的特点,可确保读者能高效地掌握本书里的组件和容器等内容。

最后,希望读者通过阅读本书,能够掌握Spring Cloud 相关组件的开发技能,并能运用Spring Cloud Alibaba组件整合Docker和Kubernetes搭建微服务体系。

为方便读者学习,本书提供了所有实例的源码,可以扫描以下二维码下载:

如果下载有问题,请发送电子邮件到booksaga@126.com,邮件主题为“Spring Cloud 与Kubernetes微服务容器化实践”。

虽然笔者尽心尽力,但限于水平,疏漏之处在所难免,恳请相关技术专家和读者不吝指正。





编者

2022年7月20日