《重新定义Spring Cloud实战》PDF 许进 叶志远 钟尊发 蔡波斯

瑾年安好 201 0

《重新定义Spring Cloud实战》PDF 许进 叶志远 钟尊发 蔡波斯

信息简介 

书名:《重新定义Spring Cloud实战》

副标题:《重新定义Spring Cloud实战》

作者:许进 叶志远 钟尊发 蔡波斯

类别:计算编程

页数:661

格式:PDF

ISBN:9787111609391

出版社:机械工业出版社

出版日期:2018年09月 

内容简介 

这是一本实践与理论并重、广度与深度兼顾的Spring Cloud生产实践开发指南,由SpringCloud中国社区倾力打造,作者来自阿里、蚂蚁金服、*金融等企业,本书针对SpringCloud在国内的使用情况,结合国内企业使用Spring Cloud落地微服务架构遇到的问题,提出可落地的解决方案。

本书内容有3大特色:

足够广:详细讲解了Spring Cloud的核心常用组件以及Spring Cloud的增强生态,针对生产实践中常见问题给出可落地的*实践方案,无论您是初学者还是开发人员,还是架构师,都能从此书获益。

有深度:本书对涉及的Spring Cloud组件按照从入门、进阶、实战、扩展增强的顺序循序渐进进行剖析和讲解,帮助作者知其然并知其所以然,授之以渔。

重实践:注重生产实践,通过案例驱动,给出优秀的生产实践方案和优秀的生产配置,帮助读者快速落地企业微服务架构。

全书共25章,分为三个部分:

*部分核心组件篇(第1~10章)

主要讲解SpringCloud的核心组件。首先从应用架构的发展历程讲起,介绍了微服务出现的背景,并对微服务架构的落地提出了相应的解决方案;然后分别详细介绍了Spring Cloud微服务体系中的核心常用组件,如Eureka、Feign、Ribbon、Hystrix、Zuul等;*后通过一个综合案例将前面介绍的组件连接起来,帮助大家融会贯通。

第二部分进阶实战篇(第11~18章)

在核心组件的基础上,对Config、Consul、认证和鉴权、全链路监控以及对Spring Cloud生态圈中第二代网关Spring Cloud Gateway进行了详细阐述,循序渐进、案例驱动,帮助读者加深对组件的理解和运用,更好地掌握相关内容运用于生产实践。

第三部分解决方案篇(第19~25章)

主要从解决方案着手,内容包括Spring Cloud与gRPC的整合方式、版本控制与灰度发布、Spring Cloud容器化、Dubbo向Spring Cloud的迁移、分布式事务、领域驱动等生产级实用解决方案,为企业IT架构微服务化和变革保驾护航。

作者简介 

许进

Spring Cloud中国社区创始人,阿里原资深工程师,花名玹霖,专注于基础架构与中间件研发,曾就职于唯品会平台架构部和饿了么。个人网站:http://xujin.org。

钟尊发

Spring Cloud中国社区联合创始人,现就职于京东金融,对微服务有深入研究。

叶志远

Spring Cloud中国社区联合创始人,现就职于蚂蚁金服,花名梓尧。CSDN博客专家,开源社区活跃者,国内Spring Cloud早期实践者

方志朋

Spring Cloud中国社区联合创始人,硕士学历,《深入理解Spring Cloud与微服务构建》作者,CSDN博客专家(阅读量600万 ),在社区具有较高活跃度与影响力。

蔡波斯

拥有多年Java开发经验,曾就职于美团、腾讯。国内Spring Cloud领域的早期实践者,现在金融行业从事FinTech相关研发

郭芳碧

多年微服务实践经验,现任职于某互联网金融公司中间件部门。

朱德明

拥有10年Java开发经验,多年技术架构和解决方案经验,现任灵雀云微服务架构师,在微服务领域有着丰富的落地经验,曾任某创业公司技术负责人。

作品目录

Contents  目录

前言

第1章微服务与SpringCloud1

1.1微服务架构概述1

1.1.1应用架构的发展1

1.1.2微服务架构3

1.1.3微服务解决方案4

1.2Spring Cloud与中间件5

1.2.1中间件概述5

1.2.2什么是Spring Cloud5

1.2.3Spring Cloud项目模块5

1.2.4Spring Cloud与服务治理

中间件6

1.2.5Spring Cloud与配置中心

中间件6

1.2.6Spring Cloud与网关中间件8

1.2.7Spring Cloud与全链路监控

中间件9

1.3Spring Cloud增强生态10

1.3.1Spring Cloud分布式事务10

1.3.2Spring Cloud与领域驱动10

1.3.3Spring Cloud与gRPC11

1.3.4Spring Cloud与Dubbo生态融合11

1.4本章小结11

第2章Spring CloudEureka上篇12

2.1服务发现概述12

2.1.1服务发现由来12

2.1.2Eureka简介14

2.1.3服务发现技术选型15

2.2Spring Cloud Eureka入门案例16

2.3Eureka Server的REST API简介20

2.3.1REST API列表20

2.3.2REST API实例20

2.4本章小结26

第3章Spring CloudEureka下篇27

3.1Eureka的核心类27

3.1.1InstanceInfo27

3.1.2LeaseInfo28

3.1.3ServiceInstance29

3.1.4InstanceStatus29

3.2服务的核心操作30

3.2.1概述30

3.2.2LeaseManager30

3.2.3LookupService31

3.3Eureka的设计理念31

3.3.1概述31

3.3.2AP优于CP32

3.3.3Peer to Peer架构33

3.3.4Zone及Region设计34

3.3.5SELF PRESERVATION设计36

3.4Eureka参数调优及监控36

3.4.1核心参数36

3.4.2参数调优39

3.4.3指标监控40

3.5Eureka实战41

3.5.1Eureka Server在线扩容41

3.5.2构建Multi Zone Eureka Server47

3.5.3支持Remote Region52

3.5.4开启HTTP Basic认证58

3.5.5启用https61

3.5.6Eureka Admin66

3.5.7基于metadata路由实例67

3.6Eureka故障演练69

3.6.1Eureka Server全部不可用69

3.6.2Eureka Server部分不可用71

3.6.3Eureka高可用原理73

3.7本章小结74

第4章Spring CloudFeign的

使用扩展75

4.1Feign概述75

4.1.1什么是Feign75

4.1.2Feign的入门案例76

4.1.3Feign的工作原理78

4.2Feign的基础功能79

4.2.1FeignClient注解剖析79

4.2.2Feign开启GZIP压缩79

4.2.3Feign支持属性文件配置80

4.2.4Feign Client开启日志81

4.2.5Feign的超时设置82

4.3Feign的实战运用83

4.3.1Feign默认Client的替换83

4.3.2Feign的Post和Get的多

参数传递86

4.3.3Feign的文件上传90

4.3.4解决Feign首次请求失败问题92

4.3.5Feign返回图片流处理方式93

4.3.6Feign调用传递Token93

4.4venus-cloud-feign设计与使用94

4.4.1venus-cloud-feign的设计94

4.4.2venus-cloud-feign的使用96

4.5本章小结98

第5章Spring CloudRibbon

实战运用99

5.1Spring Cloud Ribbon概述99

5.1.1Ribbon与负载均衡99

5.1.2入门案例100

5.2Spring Cloud Ribbon实战105

5.2.1Ribbon负载均衡策略与

自定义配置105

5.2.2Ribbon超时与重试107

5.2.3Ribbon的饥饿加载108

5.2.4利用配置文件自定义Ribbon

客户端108

5.2.5Ribbon脱离Eureka的使用108

5.3Spring Cloud Ribbon进阶109

5.3.1核心工作原理109

5.3.2负载均衡策略源码导读113

5.4本章小结114

第6章Spring CloudHystrix

实战运用115

6.1Spring Cloud Hystrix概述115

6.1.1解决什么问题116

6.1.2设计目标117

6.2Spring Cloud Hystrix实战运用118

6.2.1入门示例118

6.2.2Feign中使用断路器120

6.2.3Hystrix Dashboard121

6.2.4Turbine聚合Hystrix124

6.2.5Hystrix异常机制和处理126

6.2.6Hystrix配置说明128

6.2.6Hystrix线程调整和计算129

6.2.7Hystrix请求缓存130

6.2.8Hystrix Request Collapser134

6.2.9Hystrix线程传递及并发策略137

6.2.10Hystrix命令注解142

6.3本章小结144

第7章Spring CloudZuul基础篇145

7.1Spring Cloud Zuul概述145

7.2Spring Cloud Zuul入门案例146

7.3Spring Cloud Zuul典型配置149

7.3.1路由配置149

7.3.2功能配置152

7.4本章小结154

第8章Spring CloudZuul中级篇155

8.1Spring Cloud Zuul Filter链155

8.1.1工作原理155

8.1.2Zuul原生Filter158

8.1.3多级业务处理160

8.1.4使用Groovy编写Filter165

8.2Spring Cloud Zuul权限集成168

8.2.1应用权限概述168

8.2.2Zuul OAuth2.0 JWT实战169

8.3Spring Cloud Zuul限流176

8.3.1限流算法176

8.3.2限流实战177

8.4Spring Cloud Zuul动态路由179

8.4.1动态路由概述179

8.4.2动态路由实现原理剖析180

8.4.3基于DB的动态路由实战182

8.5Spring Cloud Zuul灰度发布185

8.5.1灰度发布概述185

8.5.2灰度发布实战之一186

8.6Spring Cloud Zuul文件上传189

8.6.1文件上传实战189

8.6.2文件上传乱码解决191

8.7Spring Cloud Zuul实用小技巧192

8.7.1饥饿加载192

8.7.2请求体修改192

8.7.3使用OkHttp替换HttpClient193

8.7.4重试机制194

8.7.5Header传递195

8.7.6整合Swagger2调试源服务195

8.8本章小结197

第9章Spring CloudZuul高级篇198

9.1Spring Cloud Zuul多层负载198

9.1.1痛点场景198

9.1.2解决方案198

9.2Spring Cloud Zuul应用优化200

9.2.1概述200

9.2.2容器优化201

9.2.3组件优化202

9.2.4JVM参数优化203

9.2.5内部优化204

9.3Spring Cloud Zuul原理&核心

源码解析205

9.3.1工作原理与生命周期205

9.3.2Filter装载与Filter链实现208

9.3.3核心路由实现210

9.4本章小结213

第10章Spring Cloud基础综合

案例214

10.1基础框架214

10.1.1搭建说明214

10.1.2技术方案214

10.1.3具体实现215

10.2实战扩展217

10.2.1公共包 (对象,拦截器,

工具类等)218

10.2.2用户上下文对象传递218

10.2.3Zuul的Fallback机制221

10.3生产环境各组件参考配置222

10.3.1Eureka推荐配置222

10.3.2Ribbon推荐配置223

10.3.3Hystrix推荐配置223

10.3.4Zuul推荐配置223

10.4本章小结224

第11章Spring CloudConfig上篇225

11.1Spring Cloud Config配置中心

概述225

11.1.1什么是配置中心225

11.1.2Spring Cloud Config227

11.1.3Spring Cloud Config入门

案例228

11.2刷新配置中心信息234

11.2.1手动刷新操作234

11.2.2结合Spring Cloud Bus

热刷新237

11.3本章小结244

第12章Spring CloudConfig下篇245

12.1服务端git配置详解与实战245

12.1.1Git多种配置详解概述245

12.1.2Git中URI占位符245

12.1.3模式匹配和多个存储库250

12.1.4路径搜索占位符251

12.2关系型数据库的配置中心的

实现251

12.2.1Spring Cloud Config基于

  MySQL的配置概述251

12.2.2Spring Cloud Config与MySQL

结合案例252

12.3非关系型数据库的配置中心的

实现255

12.3.1Spring Cloud Config基于

  MongoDB的配置概述255

12.3.2Spring Cloud Config MongoDB

案例256

12.4Spring Cloud Config使用技能259

本地参数的覆盖远程参数259

12.5Spring Cloud Config功能扩展260

12.5.1客户端自动刷新260

12.5.2客户端回退功能264

12.5.3客户端的安全认证机制JWT270

12.6高可用部分285

12.6.1客户端高可用285

12.6.2服务端高可用293

12.7Spring Cloud与Apollo配置使用300

12.7.1Apollo简介300

12.7.2Apollo具备功能300

12.7.3Apollo总体架构模块300

12.7.4客户端设计301

12.7.5Apollo运行环境方式302

12.8Spring Cloud与Apollo结合

使用实战303

12.8.1Apollo环境的要求303

12.8.2Apollo基础数据导入303

12.8.3创建config-client-apollo307

12.8.4创建gateway-zuul-apollo310

12.9本章总结316

第13章Spring CloudConsul上篇317

13.1Consul简介317

13.1.1什么是Consul317

13.1.2Consul能做什么317

13.1.3Consul的安装318

13.1.4Consul启动318

13.1.5Consul UI319

13.1.6Consul实用接口319

13.2Spring Cloud Consul简介319

13.2.1Spring Cloud Consul是什么319

13.2.2Spring Cloud Consul能做什么320

13.2.3Spring Cloud Consul入门案例320

13.3本章小节324

第14章Spring CloudConsul下篇325

14.1Spring Cloud Consul深入325

14.1.1Spring Cloud Consul的模块

介绍325

14.1.2Spring Cloud Consul Discovery325

14.1.3Spring Cloud Consul Config332

14.2Spring Cloud Consul功能重写335

14.2.1重写ConsulDiscoveryClient335

14.2.2重写ConsulServerList338

14.3常见问题排查343

14.3.1版本兼容的那些坑343

14.3.2Spring Cloud Consul的一些

问题344

14.4本章小节346

第15章Spring Cloud认证和鉴权347

15.1微服务安全与权限347

15.2Spring Cloud认证与鉴权方案348

15.2.1单体应用下的常用方案348

15.2.2微服务下SSO单点登录方案348

15.2.3分布式Session与网关结合

方案349

15.2.4客户端Token与网关结合

方案349

15.2.5浏览器Cookie与网关结合

方案350

15.2.6网关与Token和服务间鉴权

结合350

15.3Spring Cloud认证鉴权实战

案例351

15.3.1创建Spring Cloud Gateway

及关联信息351

15.3.2核心的公共工程core-service353

15.3.3服务提供方工程provider-

   service355

15.3.4客户端工程client-service356

15.3.5运行结果356

15.4本章小结358

第16章Spring Cloud全链路监控359

16.1全链路监控概述359

16.1.1链路监控的原理来源359

16.1.2Sleuth原理介绍360

16.1.3Brave和Zipkin360

16.2Sleuth基本用法362

16.2.1Sleuth对Feign的支持365

16.2.2Sleuth对RestTemplate的

支持366

16.2.3Sleuth对多线程的支持367

16.3Sleuth深入用法367

16.3.1TraceFilter367

16.3.2Baggage367

16.3.3案例367

16.4Spring Cloud与SkyWalking369

16.4.1Skywalking概述369

16.4.2SkyWalking提供主要功能370

16.4.3SkyWalking主要特性370

16.4.4SkyWalking整体架构370

16.5Spring Cloud与Skywalking实战370

16.5.1父工程创建371

16.5.2创建eureka-server-skywalking

工程372

16.5.3创建zuul-skywalking373

16.5.4创建service-a375

16.5.5创建service-b377

16.5.6SkyWalking Collector基础环境

安装378

16.5.7使用Agent启动服务和监控

查看382

16.5.8总结385

16.6Spring Cloud与Pinpoint386

16.6.1Pinpoint概述386

16.6.2Pinpoint架构模块386

16.6.3Pinpoint的数据结构386

16.6.4Pinpoint兼容性387

16.7Spring Cloud与Pinpoint实战389

16.7.1Pinpoint基础环境389

16.7.2Collector和Web部署391

16.7.3Agent启动应用392

16.7.4UI浏览指标394

16.7.5总结397

16.8本章总结398

第17章Spring CloudGateway

上篇399

17.1Spring Cloud Gateway概述399

17.1.1什么是Spring Cloud Gateway399

17.1.2Spring Cloud Gateway的核心

概念399

17.2Spring Cloud Gateway的工作

原理400

17.3Spring Cloud Gateway入门案例401

17.4Spring Cloud Gateway的路由

断言404

17.4.1After路由断言工厂404

17.4.2Before路由断言工厂406

17.4.3Between路由断言工厂406

17.4.4Cookie路由断言工厂407

17.4.5Header路由断言工厂408

17.4.6Host路由断言工厂410

17.4.7Method路由断言工厂411

17.4.8Query路由断言工厂411

17.4.9RemoteAddr路由断言工厂412

17.5Spring Cloud Gateway的内置

 Filter413

17.5.1AddRequestHeader过滤器

工厂413

17.5.2AddRequestParameter过滤器413

17.5.3RewritePath过滤器414

17.5.4AddResponseHeader过滤器415

17.5.5StripPrefix过滤器416

17.5.6Retry过滤器417

17.5.7Hystrix过滤器418

17.6本章小结420

第18章Spring CloudGateway

下篇421

18.1Gateway基于服务发现的路由

规则421

18.1.1Gateway的服务发现路由概述421

18.1.2服务发现的路由规则案例422

18.2Gateway Filter和Global Filter425

18.2.1Gateway Filter和Global Filter

概述425

18.2.2自定义Gateway Filter案例425

18.2.3自定义Global Filter案例427

18.3Spring Cloud Gateway实战428

18.3.1Spring Cloud Gateway权重

路由428

18.3.2Spring Cloud Gateway中Https

的使用技巧431

18.3.3Spring Cloud Gateway集成

 Swagger436

18.3.4Spring Cloud Gateway限流442

18.3.5Spring Cloud Gateway的动态

路由450

18.4Spring Cloud Gateway源码篇458

18.4.1Spring Cloud Gateway的处理

流程458

18.4.2Gateway中ServerWebExchange

构建分析459

18.4.3DispatcherHandler源码分析460

18.4.4RoutePredicateHandlerMapping

源码分析461

18.4.5FilteringWebHandler源码分析462

18.4.6执行Filter源码分析463

18.5本章小结465

第19章Spring Cloud与gRPC

上篇466

19.1Spring Cloud为什么需要gRPC466

19.2gRPC简介468

19.3gRPC的一些核心概念469

19.3.1服务定义469

19.3.2使用API470

19.3.2同步vs异步470

19.4RPC的生命周期470

19.5gRPC依赖于Protocol Buffers472

19.5.1Protocol Buffers的特点472

19.5.2使用Protocol Buffers的Maven

插件472

19.5.3Proto Buffer语法介绍475

19.6gRPC基于HTTP2476

19.6.1HTTP2的一些概念和特性476

19.7gRPC基于Netty进行IO处理477

19.8gRPC案例实战478

19.8本章小结481

第20章gRPC在Spring Cloud

与gRPC下篇482

20.1gRPC Spring Boot Starter介绍482

20.2gRPC Spring Boot Starter架构

设计482

20.3gRPC Spring Boot Starter源码

分析 483

20.3.1gRPC Server Spring Boot Starter

源码解析483

20.3.2gRPC Client Spring Boot Starter

源码解析486

20.4案例实战489

20.4.1注册中心489

20.4.2链路追踪服务端490

20.4.3gRPC的lib工程490

20.4.4gRPC服务端491

20.4.5gRPC客户端494

20.5本章小结497

第21章Spring Cloud版本控制与

灰度发布498

21.1背景498

21.2常见发布方式499

21.2.1蓝绿发布499

21.2.2滚动发布500

21.2.3灰度发布500

21.2.4对比501

21.3版本控制与灰度发布实战502

21.3.1Discovery项目503

21.3.2实战案例504

21.3.3实战测试505

21.4本章小结509

第22章Spring Cloud容器化510

22.1Java服务Docker化510

22.1.1基础镜像选择510

22.1.2Dockerfile编写511

22.1.3镜像构建插件514

22.1.4JDK8 的Docker支持516

22.1.5JDK9 镜像优化517

22.2Spring Cloud组件的Docker化519

22.2.1Docker化配置519

22.2.1config-server的Docker化520

22.2.2eureka-server的Docker化522

22.2.3gateway的Docker化524

22.2.4 turbine的Docker化526

22.2.5Spring Admin的Docker化528

22.2.6biz-service的Docker化530

22.2.7网卡选择532

22.2.8小结 532

22.3使用Kubernetes管理532

22.3.1概述532

22.3.2本地安装Kubernetes533

22.3.3部署到Kubernetes536

22.3.4一键伸缩544

22.3.5滚动升级547

22.4本章小结552

第23章Dubbo向Spring Cloud

迁移553

23.1将Dubbo服务纳入Spring Cloud

体系中553

23.1.1将Dubbo项目改造成Spring

  Boot项目553

23.1.2集成Spring Cloud组件554

23.1.3将Dubbo服务暴露为

  RESTful API555

23.2将Spring Cloud服务Dubbo化556

23.2.1服务注册中心556

23.2.2服务提供者556

23.2.3服务消费者558

23.2.4Spring Cloud Dubbo框架原理561

23.3本章小结562

第24章Spring Cloud与分布式事务563

24.1概述563

24.1.1ACID563

24.1.2X/Open DTP模型与XA接口564

24.1.3CAP与BASE定理567

24.2解决方案567

24.2.1Java事务编程接口JTA567

24.2.2分布式事务TCC模式568

24.2.3分布式事务SAGAS模式570

24.3实战572

24.3.1Atomikos JTA572

24.3.2TCC for REST580

24.3.3Servicecomb SAGA594

24.4本章小结603

第25章Spring Cloud与领域驱动

实践604

25.1领域驱动概述604

25.1.1Spring Cloud与领域驱动604

25.1.2为什么需要领域建模605

25.2领域驱动核心概念606

25.2.1实体概述606

25.2.2值对象概述606

25.2.3领域服务607

25.2.4聚合及聚合根607

25.2.5边界上下文608

25.2.6工厂609

25.2.7仓储/资源库609

25.2.8CQRS架构610

25.2.9领域事件610

25.2.10领域驱动模型的设计步骤611

25.3Halo框架的设计611

25.3.1DDD应用框架的意义611

25.3.2领域驱动框架现状612

25.3.3Halo框架概述612

25.3.4Halo框架分层设计613

25.3.5Halo框架中的CQRS设计615

25.3.6Command与Command Bus

设计616

25.3.7Event与Event Bus设计619

25.3.8Extend扩展点设计621

25.3.9业务身份设计623

25.3.10规范设计624

25.4.1事件风暴寻找模型和聚合625

25.4.2Spring Cloud与Halo实战案例626

25.4.3新建二方包工程模块627

25.4.4新建DDD基础设施层629

25.4.5新建DDD领域层 630

25.4.6新建DDD应用层 632

25.4.7启动测试634

25.5本章小结634

下载链接

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

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

标签: 计算编程

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

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