美文网首页高中生
重新定义Spring Cloud实战

重新定义Spring Cloud实战

作者: 月亮让你想起我 | 来源:发表于2019-06-25 08:02 被阅读0次

    链接: https://pan.baidu.com/s/1sjl6Dv-q-pyEapXDQlNxVg

    提取码: nn38

    资料简介:

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

    本书内容有3大特色:

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

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

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

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

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

    资料目录:

    前言

    第1章 微服务与SpringCloud1

    1.1 微服务架构概述1

    1.1.1 应用架构的发展1

    1.1.2 微服务架构3

    1.1.3 微服务解决方案4

    1.2 Spring Cloud与中间件5

    1.2.1 中间件概述5

    1.2.2 什么是Spring Cloud5

    1.2.3 Spring Cloud项目模块5

    1.2.4 Spring Cloud与服务治理

    中间件6

    1.2.5 Spring Cloud与配置中心

    中间件6

    1.2.6 Spring Cloud与网关中间件8

    1.2.7 Spring Cloud与全链路监控

    中间件9

    1.3 Spring Cloud增强生态10

    1.3.1 Spring Cloud分布式事务10

    1.3.2 Spring Cloud与领域驱动10

    1.3.3 Spring Cloud与gRPC11

    1.3.4 Spring Cloud与Dubbo生态融合11

    1.4 本章小结11

    第2章 Spring CloudEureka上篇12

    2.1 服务发现概述12

    2.1.1 服务发现由来12

    2.1.2 Eureka简介14

    2.1.3 服务发现技术选型15

    2.2 Spring Cloud Eureka入门案例16

    2.3 Eureka Server的REST API简介20

    2.3.1 REST API列表20

    2.3.2 REST API实例20

    2.4 本章小结26

    第3章 Spring CloudEureka下篇27

    3.1 Eureka的核心类27

    3.1.1 InstanceInfo27

    3.1.2 LeaseInfo28

    3.1.3 ServiceInstance29

    3.1.4 InstanceStatus29

    3.2 服务的核心操作30

    3.2.1 概述30

    3.2.2 LeaseManager30

    3.2.3 LookupService31

    3.3 Eureka的设计理念31

    3.3.1 概述31

    3.3.2 AP优于CP32

    3.3.3 Peer to Peer架构33

    3.3.4 Zone及Region设计34

    3.3.5 SELF PRESERVATION设计36

    3.4 Eureka参数调优及监控36

    3.4.1 核心参数36

    3.4.2 参数调优39

    3.4.3 指标监控40

    3.5 Eureka实战41

    3.5.1 Eureka 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.6 Eureka Admin66

    3.5.7 基于metadata路由实例67

    3.6 Eureka故障演练69

    3.6.1 Eureka Server全部不可用69

    3.6.2 Eureka Server部分不可用71

    3.6.3 Eureka高可用原理73

    3.7 本章小结74

    第4章 Spring CloudFeign的

      使用扩展75

    4.1 Feign概述75

    4.1.1 什么是Feign75

    4.1.2 Feign的入门案例76

    4.1.3 Feign的工作原理78

    4.2 Feign的基础功能79

    4.2.1 FeignClient注解剖析79

    4.2.2 Feign开启GZIP压缩79

    4.2.3 Feign支持属性文件配置80

    4.2.4 Feign Client开启日志81

    4.2.5 Feign的超时设置82

    4.3 Feign的实战运用83

    4.3.1 Feign默认Client的替换83

    4.3.2 Feign的Post和Get的多

    参数传递86

    4.3.3 Feign的文件上传90

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

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

    4.3.6 Feign调用传递Token93

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

    4.4.1 venus-cloud-feign的设计94

    4.4.2 venus-cloud-feign的使用96

    4.5 本章小结98

    第5章 Spring CloudRibbon

    实战运用99

    5.1 Spring Cloud Ribbon概述99

    5.1.1 Ribbon与负载均衡99

    5.1.2 入门案例100

    5.2 Spring Cloud Ribbon实战105

    5.2.1 Ribbon负载均衡策略与

    自定义配置105

    5.2.2 Ribbon超时与重试107

    5.2.3 Ribbon的饥饿加载108

    5.2.4 利用配置文件自定义Ribbon

    客户端108

    5.2.5 Ribbon脱离Eureka的使用108

    5.3 Spring Cloud Ribbon进阶109

    5.3.1 核心工作原理109

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

    5.4 本章小结114

    第6章 Spring CloudHystrix

    实战运用115

    6.1 Spring Cloud Hystrix概述115

    6.1.1 解决什么问题116

    6.1.2 设计目标117

    6.2 Spring Cloud Hystrix实战运用118

    6.2.1 入门示例118

    6.2.2 Feign中使用断路器120

    6.2.3 Hystrix Dashboard121

    6.2.4 Turbine聚合Hystrix124

    6.2.5 Hystrix异常机制和处理126

    6.2.6 Hystrix配置说明128

    6.2.6 Hystrix线程调整和计算129

    6.2.7 Hystrix请求缓存130

    6.2.8 Hystrix Request Collapser134

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

    6.2.10 Hystrix命令注解142

    6.3 本章小结144

    第7章 Spring CloudZuul基础篇145

    7.1 Spring Cloud Zuul概述145

    7.2 Spring Cloud Zuul入门案例146

    7.3 Spring Cloud Zuul典型配置149

    7.3.1 路由配置149

    7.3.2 功能配置152

    7.4 本章小结154

    第8章 Spring CloudZuul中级篇155

    8.1 Spring Cloud Zuul Filter链155

    8.1.1 工作原理155

    8.1.2 Zuul原生Filter158

    8.1.3 多级业务处理160

    8.1.4 使用Groovy编写Filter165

    8.2 Spring Cloud Zuul权限集成168

    8.2.1 应用权限概述168

    8.2.2 Zuul OAuth2.0 JWT实战169

    8.3 Spring Cloud Zuul限流176

    8.3.1 限流算法176

    8.3.2 限流实战177

    8.4 Spring Cloud Zuul动态路由179

    8.4.1 动态路由概述179

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

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

    8.5 Spring Cloud Zuul灰度发布185

    8.5.1 灰度发布概述185

    8.5.2 灰度发布实战之一186

    8.6 Spring Cloud Zuul文件上传189

    8.6.1 文件上传实战189

    8.6.2 文件上传乱码解决191

    8.7 Spring Cloud Zuul实用小技巧192

    8.7.1 饥饿加载192

    8.7.2 请求体修改192

    8.7.3 使用OkHttp替换HttpClient193

    8.7.4 重试机制194

    8.7.5 Header传递195

    8.7.6 整合Swagger2调试源服务195

    8.8 本章小结197

    第9章 Spring CloudZuul高级篇198

    9.1 Spring Cloud Zuul多层负载198

    9.1.1 痛点场景198

    9.1.2 解决方案198

    9.2 Spring Cloud Zuul应用优化200

    9.2.1 概述200

    9.2.2 容器优化201

    9.2.3 组件优化202

    9.2.4 JVM参数优化203

    9.2.5 内部优化204

    9.3 Spring Cloud Zuul原理&核心

    源码解析205

    9.3.1 工作原理与生命周期205

    9.3.2 Filter装载与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.3 Zuul的Fallback机制221

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

    10.3.1 Eureka推荐配置222

    10.3.2 Ribbon推荐配置223

    10.3.3 Hystrix推荐配置223

    10.3.4 Zuul推荐配置223

    10.4 本章小结224

    第11章 Spring CloudConfig上篇225

    11.1 Spring Cloud Config配置中心

    概述225

    11.1.1 什么是配置中心225

    11.1.2 Spring Cloud Config227

    11.1.3 Spring 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.1 Git多种配置详解概述245

    12.1.2 Git中URI占位符245

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

    12.1.4 路径搜索占位符251

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

    实现251

    12.2.1 Spring Cloud Config基于

                 MySQL的配置概述251

    12.2.2 Spring Cloud Config与MySQL

    结合案例252

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

    实现255

    12.3.1 Spring Cloud Config基于

                 MongoDB的配置概述255

    12.3.2 Spring Cloud Config MongoDB

    案例256

    12.4 Spring Cloud Config使用技能259

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

    12.5 Spring 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.7 Spring Cloud与Apollo配置使用300

    12.7.1 Apollo简介300

    12.7.2 Apollo具备功能300

    12.7.3 Apollo总体架构模块300

    12.7.4 客户端设计301

    12.7.5 Apollo运行环境方式302

    12.8 Spring Cloud与Apollo结合

    使用实战303

    12.8.1 Apollo环境的要求303

    12.8.2 Apollo基础数据导入303

    12.8.3 创建config-client-apollo307

    12.8.4 创建gateway-zuul-apollo310

    12.9 本章总结316

    第13章 Spring CloudConsul上篇317

    13.1 Consul简介317

    13.1.1 什么是Consul317

    13.1.2 Consul能做什么317

    13.1.3 Consul的安装318

    13.1.4 Consul启动318

    13.1.5 Consul UI319

    13.1.6 Consul实用接口319

    13.2 Spring Cloud Consul简介319

    13.2.1 Spring Cloud Consul是什么319

    13.2.2 Spring Cloud Consul能做什么320

    13.2.3 Spring Cloud Consul入门案例320

    13.3 本章小节324

    第14章 Spring CloudConsul下篇325

    14.1 Spring Cloud Consul深入325

    14.1.1 Spring Cloud Consul的模块

    介绍325

    14.1.2 Spring Cloud Consul Discovery325

    14.1.3 Spring Cloud Consul Config332

    14.2 Spring Cloud Consul功能重写335

    14.2.1 重写ConsulDiscoveryClient335

    14.2.2 重写ConsulServerList338

    14.3 常见问题排查343

    14.3.1 版本兼容的那些坑343

    14.3.2 Spring Cloud Consul的一些

    问题344

    14.4 本章小节346

    第15章 Spring Cloud认证和鉴权347

    15.1 微服务安全与权限347

    15.2 Spring 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.3 Spring 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.2 Sleuth原理介绍360

    16.1.3 Brave和Zipkin360

    16.2 Sleuth基本用法362

    16.2.1 Sleuth对Feign的支持365

    16.2.2 Sleuth对RestTemplate的

    支持366

    16.2.3 Sleuth对多线程的支持367

    16.3 Sleuth深入用法367

    16.3.1 TraceFilter367

    16.3.2 Baggage367

    16.3.3 案例367

    16.4 Spring Cloud与SkyWalking369

    16.4.1 Skywalking概述369

    16.4.2 SkyWalking提供主要功能370

    16.4.3 SkyWalking主要特性370

    16.4.4 SkyWalking整体架构370

    16.5 Spring 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.6 SkyWalking Collector基础环境

    安装378

    16.5.7 使用Agent启动服务和监控

    查看382

    16.5.8 总结385

    16.6 Spring Cloud与Pinpoint386

    16.6.1 Pinpoint概述386

    16.6.2 Pinpoint架构模块386

    16.6.3 Pinpoint的数据结构386

    16.6.4 Pinpoint兼容性387

    16.7 Spring Cloud与Pinpoint实战389

    16.7.1 Pinpoint基础环境389

    16.7.2 Collector和Web部署391

    16.7.3 Agent启动应用392

    16.7.4 UI浏览指标394

    16.7.5 总结397

    16.8 本章总结398

    第17章Spring CloudGateway

      上篇399

    17.1 Spring Cloud Gateway概述399

    17.1.1 什么是Spring Cloud Gateway399

    17.1.2 Spring Cloud Gateway的核心

    概念399

    17.2 Spring Cloud Gateway的工作

    原理400

    17.3 Spring Cloud Gateway入门案例401

    17.4 Spring Cloud Gateway的路由

    断言404

    17.4.1 After路由断言工厂404

    17.4.2 Before路由断言工厂406

    17.4.3 Between路由断言工厂406

    17.4.4 Cookie路由断言工厂407

    17.4.5 Header路由断言工厂408

    17.4.6 Host路由断言工厂410

    17.4.7 Method路由断言工厂411

    17.4.8 Query路由断言工厂411

    17.4.9 RemoteAddr路由断言工厂412

    17.5 Spring Cloud Gateway的内置

                Filter413

    17.5.1 AddRequestHeader过滤器

    工厂413

    17.5.2 AddRequestParameter过滤器413

    17.5.3 RewritePath过滤器414

    17.5.4 AddResponseHeader过滤器415

    17.5.5 StripPrefix过滤器416

    17.5.6 Retry过滤器417

    17.5.7 Hystrix过滤器418

    17.6 本章小结420

    第18章 Spring CloudGateway

    下篇421

    18.1 Gateway基于服务发现的路由

    规则421

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

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

    18.2 Gateway Filter和Global Filter425

    18.2.1 Gateway Filter和Global Filter

    概述425

    18.2.2 自定义Gateway Filter案例425

    18.2.3 自定义Global Filter案例427

    18.3 Spring Cloud Gateway实战428

    18.3.1 Spring Cloud Gateway权重

    路由428

    18.3.2 Spring Cloud Gateway中Https

    的使用技巧431

    18.3.3 Spring Cloud Gateway集成

                Swagger436

    18.3.4 Spring Cloud Gateway限流442

    18.3.5 Spring Cloud Gateway的动态

    路由450

    18.4 Spring Cloud Gateway源码篇458

    18.4.1 Spring Cloud Gateway的处理

    流程458

    18.4.2 Gateway中ServerWebExchange

    构建分析459

    18.4.3 DispatcherHandler源码分析460

    18.4.4 RoutePredicateHandlerMapping

    源码分析461

    18.4.5 FilteringWebHandler源码分析462

    18.4.6 执行Filter源码分析463

    18.5 本章小结465

    第19章 Spring Cloud与gRPC

    上篇466

    19.1 Spring Cloud为什么需要gRPC466

    19.2 gRPC简介468

    19.3 gRPC的一些核心概念469

    19.3.1 服务定义469

    19.3.2 使用API470

    19.3.2 同步vs异步470

    19.4 RPC的生命周期470

    19.5 gRPC依赖于Protocol Buffers472

    19.5.1 Protocol Buffers的特点472

    19.5.2 使用Protocol Buffers的Maven

    插件472

    19.5.3 Proto Buffer语法介绍475

    19.6 gRPC基于HTTP2476

    19.6.1 HTTP2的一些概念和特性476

    19.7 gRPC基于Netty进行IO处理477

    19.8 gRPC案例实战478

    19.8 本章小结481

    第20章gRPC在Spring Cloud

    与gRPC下篇482

    20.1 gRPC Spring Boot Starter介绍482

    20.2 gRPC Spring Boot Starter架构

    设计482

    20.3 gRPC Spring Boot Starter源码

    分析 483

    20.3.1 gRPC Server Spring Boot Starter

    源码解析483

    20.3.2 gRPC Client Spring Boot Starter

    源码解析486

    20.4 案例实战489

    20.4.1 注册中心489

    20.4.2 链路追踪服务端490

    20.4.3 gRPC的lib工程490

    20.4.4 gRPC服务端491

    20.4.5 gRPC客户端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.1 Discovery项目503

    21.3.2 实战案例504

    21.3.3 实战测试505

    21.4 本章小结509

    第22章 Spring Cloud容器化510

    22.1 Java服务Docker化510

    22.1.1 基础镜像选择510

    22.1.2 Dockerfile编写511

    22.1.3 镜像构建插件514

    22.1.4 JDK8 的Docker支持516

    22.1.5 JDK9 镜像优化517

    22.2 Spring Cloud组件的Docker化519

    22.2.1 Docker化配置519

    22.2.1 config-server的Docker化520

    22.2.2 eureka-server的Docker化522

    22.2.3 gateway的Docker化524

    22.2.4 turbine的Docker化526

    22.2.5 Spring Admin的Docker化528

    22.2.6 biz-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.4 Spring Cloud Dubbo框架原理561

    23.3 本章小结562

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

    24.1 概述563

    24.1.1 ACID563

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

    24.1.3 CAP与BASE定理567

    24.2 解决方案567

    24.2.1 Java事务编程接口JTA567

    24.2.2 分布式事务TCC模式568

    24.2.3 分布式事务SAGAS模式570

    24.3 实战572

    24.3.1 Atomikos JTA572

    24.3.2 TCC for REST580

    24.3.3 Servicecomb SAGA594

    24.4 本章小结603

    第25章 Spring Cloud与领域驱动

    实践604

    25.1 领域驱动概述604

    25.1.1 Spring 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.8 CQRS架构610

    25.2.9 领域事件610

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

    25.3 Halo框架的设计611

    25.3.1 DDD应用框架的意义611

    25.3.2 领域驱动框架现状612

    25.3.3 Halo框架概述612

    25.3.4 Halo框架分层设计613

    25.3.5 Halo框架中的CQRS设计615

    25.3.6 Command与Command Bus

    设计616

    25.3.7 Event与Event Bus设计619

    25.3.8 Extend扩展点设计621

    25.3.9 业务身份设计623

    25.3.10 规范设计624

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

    25.4.2 Spring 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

    相关文章

      网友评论

        本文标题:重新定义Spring Cloud实战

        本文链接:https://www.haomeiwen.com/subject/ndsoqctx.html