《深入理解Spring Cloud与微服务构建》PDF 方志朋

瑾年安好 203 0

《深入理解Spring Cloud与微服务构建》PDF 方志朋

信息简介

书名:《深入理解Spring Cloud与微服务构建》

副标题:《深入理解Spring Cloud与微服务构建》

作者:方志朋

类别:计算编程

页数:278

格式:PDF

ISBN:9787115514882

出版社:人民邮电出版社

出版日期:2019年09月

内容简介

《深入理解SpringCloud与微服务构建第2版》共分为18章,全面涵盖了通过SpringCloud构建微服务的相关知识点。第1、2章详细介绍了微服务架构和SpringCloud。第3、4章讲解了通过SpringCloud构建微服务的准备工作。第5~14章以案例为切入点,讲解了通过SpringCloud构建微服务的基础组件,包括Eureka、Ribbon、Feign、Hystrix、Zuul、Gateway、Consul、Config、Sleuth、Admint等组件。第15~17章讲述了使用SpringCloudOAuth2来保护微服务系统的相关知识。第18章用一个综合案例全面讲解了如何使用SpringCloud构建微服务,可用于实际开发中。

作者简介

方志朋,毕业于武汉理工大学,就职于某互联网金融公司。SpringCloud中国社区联合发起人、CSDN博客专家,专注于分布式系统和中间件等领域的研究和开发,乐于分享,爱好开源,对技术有着强烈的追求,活跃于各大技术社区。

作品目录

第1章微服务简介1

1.1单体架构及其存在的不足1

1.1.1单体架构简介1

1.1.2单体架构存在的不足2

1.1.3单体架构使用服务器集群及存在的不足2

1.2微服务3

1.2.1什么是微服务4

1.2.2微服务的优势8

1.3微服务的不足9

1.3.1微服务的复杂度9

1.3.2分布式事务9

1.3.3服务的划分11

1.3.4服务的部署11

1.4微服务和SOA的关系12

1.5微服务的设计原则12

第2章SpringCloud简介14

2.1微服务应该具备的功能14

2.1.1服务的注册与发现15

2.1.2服务的负载均衡15

2.1.3服务的容错16

2.1.4服务网关18

2.1.5服务配置的统一管理19

2.1.6服务链路追踪20

2.2SpringCloud20

2.2.1简介20

2.2.2常用组件21

2.2.3项目一览22

2.3Dubbo简介23

2.4SpringCloud与Dubbo比较24

2.5Kubernetes简介25

2.6SpringCould与Kubernetes比较27

2.7总结28

第3章构建微服务的准备29

3.1JDK的安装29

3.1.1JDK的下载和安装29

3.1.2环境变量的配置29

3.2IDEA的安装30

3.2.1IDEA的下载30

3.2.2用IDEA创建一个SpringBoot工程31

3.2.3用IDEA启动多个SpringBoot工程实例33

3.3构建工具Maven的使用34

3.3.1Maven简介34

3.3.2Maven的安装34

3.3.3Maven的核心概念36

3.3.4编写Pom文件36

3.3.5Maven构建项目的生命周期38

3.3.6常用的Maven命令39

第4章开发框架SpringBoot41

4.1SpringBoot简介41

4.1.1SpringBoot的特点41

4.1.2SpringBoot的优点42

4.2用IDEA构建SpringBoot工程42

4.2.1项目结构42

4.2.2在SpringBoot工程中构建Web程序43

4.2.3SpringBoot的测试44

4.3SpringBoot配置文件详解45

4.3.1自定义属性45

4.3.2将配置文件的属性赋给实体类46

4.3.3自定义配置文件47

4.3.4多个环境的配置文件48

4.4运行状态监控Actuator48

4.4.1查看运行程序的健康状态50

4.4.2查看运行程序的Bean51

4.4.3使用Actuator关闭应用程序53

4.4.4使用shell连接Actuator54

4.5SpringBoot整合JPA55

4.6SpringBoot整合Redis58

4.6.1Redis简介58

4.6.2Redis的安装58

4.6.3在SpringBoot中使用Redis58

4.7SpringBoot整合Swagger2,搭建RestfulAPI在线文档60

第5章服务注册和发现Eureka64

5.1Eureka简介64

5.1.1什么是Eureka64

5.1.2为什么选择Eureka64

5.1.3Eureka的基本架构65

5.2编写EurekaServer65

5.3编写EurekaClient68

5.4源码解析Eureka71

5.4.1Eureka的一些概念71

5.4.2Eureka的高可用架构72

5.4.3Register服务注册72

5.4.4Renew服务续约76

5.4.5为什么EurekaClient获取服务实例这么慢77

5.4.6Eureka的自我保护模式78

5.5构建高可用的EurekaServer集群79

5.6总结81

第6章负载均衡Ribbon82

6.1RestTemplate简介82

6.2Ribbon简介83

6.3使用RestTemplate和Ribbon来消费服务83

6.4LoadBalancerClient简介86

6.5源码解析Ribbon88

第7章声明式调用Feign99

7.1写一个Feign客户端99

7.2FeignClient详解103

7.3FeignClient的配置104

7.4从源码的角度讲解Feign的工作原理105

7.5在Feign中使用HttpClient和OkHttp108

7.6Feign是如何实现负载均衡的110

7.7总结112

第8章熔断器Hystrix113

8.1Hystrix简介113

8.2Hystrix解决的问题113

8.3Hystrix的设计原则115

8.4Hystrix的工作机制115

8.5在RestTemplate和Ribbon上使用熔断器116

8.6在Feign上使用熔断器117

8.7使用HystrixDashboard监控熔断器的状态118

8.7.1在RestTemplate中使用HystrixDashboard118

8.7.2在Feign中使用HystrixDashboard121

8.8使用Turbine聚合监控122

第9章路由网关SpringCloudZuul124

9.1为什么需要Zuul124

9.2Zuul的工作原理124

9.3案例实战126

9.3.1搭建Zuul服务126

9.3.2在Zuul上配置API接口的版本号129

9.3.3在Zuul上配置熔断器130

9.3.4在Zuul中使用过滤器131

9.3.5Zuul的常见使用方式133

第10章服务网关135

10.1服务网关的实现原理135

10.2断言工厂136

10.2.1After路由断言工厂136

10.2.2Header断言工厂138

10.2.3Cookie路由断言工厂139

10.2.4Host路由断言工厂140

10.2.5Method路由断言工厂140

10.2.6Path路由断言工厂141

10.2.7Query路由断言工厂141

10.3过滤器142

10.3.1过滤器的作用143

10.3.2过滤器的生命周期144

10.3.3网关过滤器144

10.3.4全局过滤器151

10.4限流153

10.4.1常见的限流算法153

10.4.2服务网关的限流154

10.5服务化156

10.5.1工程介绍156

10.5.2service-gateway工程详细介绍157

10.6总结159

第11章服务注册和发现Consul160

11.1什么是Consul160

11.1.1基本术语160

11.1.2Consul的特点和功能161

11.1.3Consul的原理161

11.1.4Consul的基本架构161

11.1.5Consul服务注册发现流程163

11.2Consul与Eureka比较163

11.3下载和安装Consul164

11.4使用SpringCloudConsul进行服务注册和发现165

11.4.1服务提供者consul-provider165

11.4.2服务消费者consul-provider167

11.5使用SpringCloudConsulConfig做服务配置中心168

11.6动态刷新配置170

11.7总结171

第12章配置中心SpringCloudConfig172

12.1ConfigServer从本地读取配置文件172

12.1.1构建ConfigServer172

12.1.2构建ConfigClient174

12.2ConfigServer从远程Git仓库读取配置文件175

12.3构建高可用的ConfigServer176

12.3.1构建EurekaServer177

12.3.2改造ConfigServer178

12.3.3改造ConfigClient178

12.4使用SpringCloudBus刷新配置180

12.5将配置存储在MySQL数据库中182

12.5.1改造config-server工程182

12.5.2初始化数据库183

第13章服务链路追踪SpringCloudSleuth184

13.1为什么需要SpringCloudSleuth184

13.2基本术语184

13.3案例讲解186

13.3.1启动ZipkinServer187

13.3.2构建服务提供者187

13.3.3构建服务消费者189

13.3.4项目演示191

13.4在链路数据中添加自定义数据192

13.5使用RabbitMQ传输链路数据192

13.6在MySQL数据库中存储链路数据194

13.7在ElasticSearch中存储链路数据195

13.8用Kibana展示链路数据196

第14章微服务监控SpringBootAdmin198

14.1使用SpringBootAdmin监控SpringBoot应用程序199

14.1.1创建SpringBootAdminServer199

14.1.2创建SpringBootAdminClient200

14.2使用SpringBootAdmin监控SpringCloud微服务202

14.2.1构建AdminServer202

14.2.2构建AdminClient204

14.3在SpringBootAdmin中添加Security和Mail组件205

14.3.1SpringBootAdmin集成Security组件206

14.3.2SpringBootAdmin集成Mail组件208

第15章SpringBootSecurity详解209

15.1SpringSecurity简介209

15.1.1什么是SpringSecurity209

15.1.2为什么选择SpringSecurity209

15.1.3SpringSecurity提供的安全模块210

15.2SpringBootSecurity与SpringSecurity的关系211

15.3SpringBootSecurity案例详解211

15.3.1构建SpringBootSecurity工程211

15.3.2配置SpringSecurity213

15.3.3编写相关界面215

15.3.4SpringSecurity方法级别上的保护220

15.3.5从数据库中读取用户的认证信息223

15.4总结228

第16章使用SpringCloudOAuth2保护微服务系统230

16.1什么是OAuth2230

16.2如何使用SpringOAuth2231

16.2.1OAuth2Provider231

16.2.2OAuth2Client235

16.3案例分析236

16.3.1编写EurekaServer237

16.3.2编写Uaa授权服务237

16.3.3编写service-hi资源服务244

16.4总结250

第17章使用SpringSecurityOAuth2和JWT保护微服务系统251

17.1JWT简介251

17.1.1什么是JWT251

17.1.2JWT的结构252

17.1.3JWT的应用场景253

17.1.4如何使用JWT253

17.2案例分析253

17.2.1案例架构设计253

17.2.2编写主Maven工程254

17.2.3编写EurekaServer256

17.2.4编写Uaa授权服务256

17.2.5编写user-service资源服务262

17.3总结270

第18章使用SpringCloud构建微服务综合案例271

18.1案例介绍271

18.1.1工程结构271

18.1.2使用的技术栈271

18.1.3工程架构272

18.1.4功能展示274

18.2案例详解277

18.2.1准备工作278

18.2.2构建主Maven工程278

18.2.3构建eureka-server工程279

18.2.4构建config-server工程280

18.2.5构建Zipkin工程281

18.2.6构建monitoring-service工程282

18.2.7构建uaa-service工程284

18.2.8构建gateway-service工程286

18.2.9构建admin-service工程287

18.2.10构建user-service工程287

18.2.11构建blog-service工程290

18.2.12构建log-service工程291

18.3启动源码工程294

18.4项目演示295

18.5总结296

下载链接

高速下载地址被作者隐藏,请输入验证码查看内容。

请输入验证码:
请关注本站微信公众号后回复 验证码 ,获取验证码。
可以在微信搜索 瑾年网络 或者 jnwlzyw 来关注公众号
您也可以微信扫描二维码关注本站微信公众号。
瑾年网络

标签: 计算编程

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~