万本电子书0元读

万本电子书0元读

顶部广告

重新定义Spring Cloud实战电子书

(1)本书由Spring Cloud中国社区官方撰写,基于Spring Cloud的Finchley.RELEASE版本,核心成员来自原阿里、蚂蚁金服、*金融等互联网企业,经验丰富。 (2)本书内容有3大特色:宽度足够广、深度足够深,而且立足于生产实践,直从生产实践出发,包含大量生产实践的配置 (3)本书得到了来自阿里、腾讯、百度、*等大型互联网企业的近10位专家的鼎力推荐。

售       价:¥

纸质售价:¥90.30购买纸书

10人正在读 | 0人评论 6.5

作       者:许进

出  版  社:机械工业出版社

出版时间:2018-09-01

字       数:70.2万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(3条)
  • 读书简介
  • 目录
  • 累计评论(3条)
这是一本实践与理论并重、广度与深度兼顾的Spring Cloud生产实践发指南,由Spring Cloud中国社区倾力造,作者来自阿里、蚂蚁金服、*金融等企业,本书针对Spring Cloud在国内的使用情况,结合国内企业使用Spring Cloud落地微服务架构遇到的问题,提出可落地的解决方案。 本书内容有3大特色: 足够广:详细讲解了Spring Cloud的核心常用组件以及Spring Cloud的增强生态,针对生产实践中常见问题给出可落地的*实践方案,无论您是初学者还是发人员,还是架构师,都能从此书获益。 有深度:本书对涉及的Spring Cloud组件按照从门、阶、实战、扩展增强的顺序循序渐行剖析和讲解,帮助作者知其然并知其所以然,授之以渔。 重实践:注重生产实践,通过案例驱动,给出优秀的生产实践方案和优秀的生产配置,帮助读者快速落地企业微服务架构。 全书共25章,分为三个部分: *部分核心组件篇(第1~10章) 主要讲解Spring Cloud的核心组件。首先从应用架构的发展历程讲起,介绍了微服务出现的背景,并对微服务架构的落地提出了相应的解决方案;然后分别详细介绍了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架构微服务化和变革保驾护航。<br/>【推荐语】<br/>(1)本书由Spring Cloud中国社区官方撰写,基于Spring Cloud的Finchley.RELEASE版本,核心成员来自原阿里、蚂蚁金服、*金融等互联网企业,经验丰富。 (2)本书内容有3大特色:宽度足够广、深度足够深,而且立足于生产实践,直从生产实践出发,包含大量生产实践的配置 (3)本书得到了来自阿里、腾讯、百度、*等大型互联网企业的近10位专家的鼎力推荐。<br/>【作者】<br/>许 Spring Cloud中国社区创始人,阿里原资深工程师,花名玹霖,专注于基础架构与中间件研发,曾就职于唯品会平台架构部和饿了么。个人网站:http://xujin.org。 钟尊发 Spring Cloud中国社区联合创始人,现就职于金融,对微服务有深研究。 叶志远 Spring Cloud中国社区联合创始人,现就职于蚂蚁金服,花名梓尧。CSDN博客专家,源社区活跃者,国内Spring Cloud早期实践者 方志朋 Spring Cloud中国社区联合创始人,硕士学历,《深理解Spring Cloud与微服务构建》作者,CSDN博客专家(阅读量600万 ),在社区具有较高活跃度与影响力。 蔡波斯 拥有多年Java发经验,曾就职于美团、腾讯。国内Spring Cloud领域的早期实践者,现在金融行业从事FinTech相关研发 郭芳碧 多年微服务实践经验,现任职于某互联网金融公司中间件部门。 朱德明 拥有10年Java发经验,多年技术架构和解决方案经验,现任灵雀云微服务架构师,在微服务领域有着丰富的落地经验,曾任某创业公司技术负责人。<br/>
目录展开

专家推荐

序1

序2

序3

前言

第1章 微服务与Spring Cloud

1.1 微服务架构概述

1.1.1 应用架构的发展

1.1.2 微服务架构

1.1.3 微服务解决方案

1.2 Spring Cloud与中间件

1.2.1 中间件概述

1.2.2 什么是Spring Cloud

1.2.3 Spring Cloud项目模块

1.2.4 Spring Cloud与服务治理中间件

1.2.5 Spring Cloud与配置中心中间件

1.2.6 Spring Cloud与网关中间件

1.2.7 Spring Cloud与全链路监控中间件

1.3 Spring Cloud增强生态

1.3.1 Spring Cloud分布式事务

1.3.2 Spring Cloud与领域驱动

1.3.3 Spring Cloud与gRPC

1.3.4 Spring Cloud与Dubbo生态融合

1.4 本章小结

第2章 Spring Cloud Eureka上篇

2.1 服务发现概述

2.1.1 服务发现由来

2.1.2 Eureka简介

2.1.3 服务发现技术选型

2.2 Spring Cloud Eureka入门案例

2.3 Eureka Server的REST API简介

2.3.1 REST API列表

2.3.2 REST API实例

2.4 本章小结

第3章 Spring Cloud Eureka下篇

3.1 Eureka的核心类

3.1.1 InstanceInfo

3.1.2 LeaseInfo

3.1.3 ServiceInstance

3.1.4 InstanceStatus

3.2 服务的核心操作

3.2.1 概述

3.2.2 LeaseManager

3.2.3 LookupService

3.3 Eureka的设计理念

3.3.1 概述

3.3.2 AP优于CP

3.3.3 Peer to Peer架构

3.3.4 Zone及Region设计

3.3.5 SELF PRESERVATION设计

3.4 Eureka参数调优及监控

3.4.1 核心参数

3.4.2 参数调优

3.4.3 指标监控

3.5 Eureka实战

3.5.1 Eureka Server在线扩容

3.5.2 构建Multi Zone Eureka Server

3.5.3 支持Remote Region

3.5.4 开启HTTP Basic认证

3.5.5 启用https

3.5.6 Eureka Admin

3.5.7 基于metadata路由实例

3.6 Eureka故障演练

3.6.1 Eureka Server全部不可用

3.6.2 Eureka Server部分不可用

3.6.3 Eureka高可用原理

3.7 本章小结

第4章 Spring Cloud Feign的使用扩展

4.1 Feign概述

4.1.1 什么是Feign

4.1.2 Feign的入门案例

4.1.3 Feign的工作原理

4.2 Feign的基础功能

4.2.1 FeignClient注解剖析

4.2.2 Feign开启GZIP压缩

4.2.3 Feign支持属性文件配置

4.2.4 Feign Client开启日志

4.2.5 Feign的超时设置

4.3 Feign的实战运用

4.3.1 Feign默认Client的替换

4.3.2 Feign的Post和Get的多参数传递

4.3.3 Feign的文件上传

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

4.3.5 Feign返回图片流处理方式

4.3.6 Feign调用传递Token

4.4 venus-cloud-feign设计与使用

4.4.1 venus-cloud-feign的设计

4.4.2 venus-cloud-feign的使用

4.5 本章小结

第5章 Spring Cloud Ribbon实战运用

5.1 Spring Cloud Ribbon概述

5.1.1 Ribbon与负载均衡

5.1.2 入门案例

5.2 Spring Cloud Ribbon实战

5.2.1 Ribbon负载均衡策略与自定义配置

5.2.2 Ribbon超时与重试

5.2.3 Ribbon的饥饿加载

5.2.4 利用配置文件自定义Ribbon客户端

5.2.5 Ribbon脱离Eureka的使用

5.3 Spring Cloud Ribbon进阶

5.3.1 核心工作原理

5.3.2 负载均衡策略源码导读

5.4 本章小结

第6章 Spring Cloud Hystrix实战运用

6.1 Spring Cloud Hystrix概述

6.1.1 解决什么问题

6.1.2 设计目标

6.2 Spring Cloud Hystrix实战运用

6.2.1 入门示例

6.2.2 Feign中使用断路器

6.2.3 Hystrix Dashboard

6.2.4 Turbine聚合Hystrix

6.2.5 Hystrix异常机制和处理

6.2.6 Hystrix配置说明

6.2.7 Hystrix线程调整和计算

6.2.8 Hystrix请求缓存

6.2.9 Hystrix Request Collapser

6.2.10 Hystrix线程传递及并发策略

6.2.11 Hystrix命令注解

6.3 本章小结

第7章 Spring Cloud Zuul基础篇

7.1 Spring Cloud Zuul概述

7.2 Spring Cloud Zuul入门案例

7.3 Spring Cloud Zuul典型配置

7.3.1 路由配置

7.3.2 功能配置

7.4 本章小结

第8章 Spring Cloud Zuul中级篇

8.1 Spring Cloud Zuul Filter链

8.1.1 工作原理

8.1.2 Zuul原生Filter

8.1.3 多级业务处理

8.1.4 使用Groovy编写Filter

8.2 Spring Cloud Zuul权限集成

8.2.1 应用权限概述

8.2.2 Zuul+OAuth2.0+JWT实战

8.3 Spring Cloud Zuul限流

8.3.1 限流算法

8.3.2 限流实战

8.4 Spring Cloud Zuul动态路由

8.4.1 动态路由概述

8.4.2 动态路由实现原理剖析

8.4.3 基于DB的动态路由实战

8.5 Spring Cloud Zuul灰度发布

8.5.1 灰度发布概述

8.5.2 灰度发布实战之一

8.6 Spring Cloud Zuul文件上传

8.6.1 文件上传实战

8.6.2 文件上传乱码解决

8.7 Spring Cloud Zuul实用小技巧

8.7.1 饥饿加载

8.7.2 请求体修改

8.7.3 使用okhttp替换HttpClient

8.7.4 重试机制

8.7.5 Header传递

8.7.6 整合Swagger2调试源服务

8.8 本章小结

第9章 Spring Cloud Zuul高级篇

9.1 Spring Cloud Zuul多层负载

9.1.1 痛点场景

9.1.2 解决方案

9.2 Spring Cloud Zuul应用优化

9.2.1 概述

9.2.2 容器优化

9.2.3 组件优化

9.2.4 JVM参数优化

9.2.5 内部优化

9.3 Spring Cloud Zuul原理&核心源码解析

9.3.1 工作原理与生命周期

9.3.2 Filter装载与Filter链实现

9.3.3 核心路由实现

9.4 本章小结

第10章 Spring Cloud基础综合案例

10.1 基础框架

10.1.1 搭建说明

10.1.2 技术方案

10.1.3 具体实现

10.2 实战扩展

10.2.1 公共包(对象,拦截器,工具类等)

10.2.2 用户上下文对象传递

10.2.3 Zuul的Fallback机制

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

10.3.1 Eureka推荐配置

10.3.2 Ribbon推荐配置

10.3.3 Hystrix推荐配置

10.3.4 Zuul推荐配置

10.4 本章小结

第11章 Spring Cloud Config上篇

11.1 Spring Cloud Config配置中心概述

11.1.1 什么是配置中心

11.1.2 Spring Cloud Config

11.1.3 Spring Cloud Config入门案例

11.2 刷新配置中心信息

11.2.1 手动刷新操作

11.2.2 结合Spring Cloud Bus热刷新

11.3 本章小结

第12章 Spring Cloud Config下篇

12.1 服务端Git配置详解与实战

12.1.1 Git多种配置详解概述

12.1.2 Git中URI占位符

12.1.3 模式匹配和多个存储库

12.1.4 路径搜索占位符

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

12.2.1 Spring Cloud Config基于MySQL的配置概述

12.2.2 Spring Cloud Config与MySQL结合案例

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

12.3.1 Spring Cloud Config基于MongoDB的配置概述

12.3.2 Spring Cloud Config MongoDB案例

12.4 Spring Cloud Config使用技能

12.5 Spring Cloud Config功能扩展

12.5.1 客户端自动刷新

12.5.2 客户端回退功能

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

12.6 高可用部分

12.6.1 客户端高可用

12.6.2 服务端高可用

12.7 Spring Cloud与Apollo配置使用

12.7.1 Apollo简介

12.7.2 Apollo具备功能

12.7.3 Apollo总体架构模块

12.7.4 客户端设计

12.7.5 Apollo运行环境方式

12.8 Spring Cloud与Apollo结合使用实战

12.8.1 Apollo环境的要求

12.8.2 Apollo基础数据导入

12.8.3 创建config-client-apollo

12.8.4 创建gateway-zuul-apollo

12.9 本章总结

第13章 Spring Cloud Consul上篇

13.1 Consul简介

13.1.1 什么是Consul

13.1.2 Consul能做什么

13.1.3 Consul的安装

13.1.4 Consul启动

13.1.5 Consul UI

13.1.6 Consul实用接口

13.2 Spring Cloud Consul简介

13.2.1 Spring Cloud Consul是什么

13.2.2 Spring Cloud Consul能做什么

13.2.3 Spring Cloud Consul入门案例

13.3 本章小节

第14章 Spring Cloud Consul下篇

14.1 Spring Cloud Consul深入

14.1.1 Spring Cloud Consul的模块介绍

14.1.2 Spring Cloud Consul Discovery

14.1.3 Spring Cloud Consul Config

14.2 Spring Cloud Consul功能重写

14.2.1 重写ConsulDiscoveryClient

14.2.2 重写ConsulServerList

14.3 常见问题排查

14.3.1 版本兼容的那些坑

14.3.2 Spring Cloud Consul的一些问题

14.4 本章小节

第15章 Spring Cloud认证和鉴权

15.1 微服务安全与权限

15.2 Spring Cloud认证与鉴权方案

15.2.1 单体应用下的常用方案

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

15.2.3 分布式Session与网关结合方案

15.2.4 客户端Token与网关结合方案

15.2.5 浏览器Cookie与网关结合方案

15.2.6 网关与Token和服务间鉴权结合

15.3 Spring Cloud认证鉴权实战案例

15.3.1 创建Spring Cloud Gateway及关联信息

15.3.2 核心的公共工程core-service

15.3.3 服务提供方工程provider-service

15.3.4 客户端工程client-service

15.3.5 运行结果

15.4 本章小结

第16章 Spring Cloud全链路监控

16.1 全链路监控概述

16.1.1 链路监控的原理来源

16.1.2 Sleuth原理介绍

16.1.3 Brave和Zipkin

16.2 Sleuth基本用法

16.2.1 Sleuth对Feign的支持

16.2.2 Sleuth对RestTemplate的支持

16.2.3 Sleuth对多线程的支持

16.3 Sleuth深入用法

16.3.1 TraceFilter

16.3.2 Baggage

16.3.3 案例

16.4 Spring Cloud与SkyWalking

16.4.1 Skywalking概述

16.4.2 SkyWalking提供主要功能

16.4.3 SkyWalking主要特性

16.4.4 SkyWalking整体架构

16.5 Spring Cloud与Skywalking实战

16.5.1 父工程创建

16.5.2 创建eureka-server-skywalking工程

16.5.3 创建zuul-skywalking

16.5.4 创建service-a

16.5.5 创建service-b

16.5.6 SkyWalking Collector基础环境安装

16.5.7 使用Agent启动服务和监控查看

16.5.8 总结

16.6 Spring Cloud与Pinpoint

16.6.1 Pinpoint概述

16.6.2 Pinpoint架构模块

16.6.3 Pinpoint的数据结构

16.6.4 Pinpoint兼容性

16.7 Spring Cloud与Pinpoint实战

16.7.1 Pinpoint基础环境

16.7.2 Collector和Web部署

16.7.3 Agent启动应用

16.7.4 UI浏览指标

16.7.5 总结

16.8 本章总结

第17章 Spring Cloud Gateway上篇

17.1 Spring Cloud Gateway概述

17.1.1 什么是Spring Cloud Gateway

17.1.2 Spring Cloud Gateway的核心概念

17.2 Spring Cloud Gateway的工作原理

17.3 Spring Cloud Gateway入门案例

17.4 Spring Cloud Gateway的路由断言

17.4.1 After路由断言工厂

17.4.2 Before路由断言工厂

17.4.3 Between路由断言工厂

17.4.4 Cookie路由断言工厂

17.4.5 Header路由断言工厂

17.4.6 Host路由断言工厂

17.4.7 Method路由断言工厂

17.4.8 Query路由断言工厂

17.4.9 RemoteAddr路由断言工厂

17.5 Spring Cloud Gateway的内置Filter

17.5.1 AddRequestHeader过滤器工厂

17.5.2 AddRequestParameter过滤器

17.5.3 RewritePath过滤器

17.5.4 AddResponseHeader过滤器

17.5.5 StripPrefix过滤器

17.5.6 Retry过滤器

17.5.7 Hystrix过滤器

17.6 本章小结

第18章 Spring Cloud Gateway下篇

18.1 Gateway基于服务发现的路由规则

18.1.1 Gateway的服务发现路由概述

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

18.2 Gateway Filter和Global Filter

18.2.1 Gateway Filter和Global Filter概述

18.2.2 自定义Gateway Filter案例

18.2.3 自定义Global Filter案例

18.3 Spring Cloud Gateway实战

18.3.1 Spring Cloud Gateway权重路由

18.3.2 Spring Cloud Gateway中Https的使用技巧

18.3.3 Spring Cloud Gateway集成Swagger

18.3.4 Spring Cloud Gateway限流

18.3.5 Spring Cloud Gateway的动态路由

18.4 Spring Cloud Gateway源码篇

18.4.1 Spring Cloud Gateway的处理流程

18.4.2 Gateway中ServerWebExchange构建分析

18.4.3 DispatcherHandler源码分析

18.4.4 RoutePredicateHandlerMapping源码分析

18.4.5 FilteringWebHandler源码分析

18.4.6 执行Filter源码分析

18.5 本章小结

第19章 Spring Cloud与gRPC上篇

19.1 Spring Cloud为什么需要gRPC

19.2 gRPC简介

19.3 gRPC的一些核心概念

19.3.1 服务定义

19.3.2 使用API

19.3.3 同步vs异步

19.4 RPC的生命周期

19.5 gRPC依赖于Protocol Buffers

19.5.1 Protocol Buffers的特点

19.5.2 使用Protocol Buffers的Maven插件

19.5.3 Proto Buffer语法介绍

19.6 gRPC基于HTTP2

19.7 gRPC基于Netty进行IO处理

19.8 gRPC案例实战

19.9 本章小结

第20章 gRPC在Spring Cloud与gRPC下篇

20.1 gRPC Spring Boot Starter介绍

20.2 gRPC Spring Boot Starter架构设计

20.3 gRPC Spring Boot Starter源码分析

20.3.1 gRPC Server Spring Boot Starter源码解析

20.3.2 gRPC Client Spring Boot Starter源码解析

20.4 案例实战

20.4.1 注册中心

20.4.2 链路追踪服务端

20.4.3 gRPC的lib工程

20.4.4 gRPC服务端

20.4.5 gRPC客户端

20.5 本章小结

第21章 Spring Cloud版本控制与灰度发布

21.1 背景

21.2 常见发布方式

21.2.1 蓝绿发布

21.2.2 滚动发布

21.2.3 灰度发布

21.2.4 对比

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

21.3.1 Discovery项目

21.3.2 实战案例

21.3.3 实战测试

21.4 本章小结

第22章 Spring Cloud容器化

22.1 Java服务Docker化

22.1.1 基础镜像选择

22.1.2 Dockerfile编写

22.1.3 镜像构建插件

22.1.4 JDK8+的Docker支持

22.1.5 JDK9+镜像优化

22.2 Spring Cloud组件的Docker化

22.2.1 Docker化配置

22.2.2 config-server的Docker化

22.2.3 eureka-server的Docker化

22.2.4 gateway的Docker化

22.2.5 turbine的Docker化

22.2.6 Spring Admin的Docker化

22.2.7 biz-service的Docker化

22.2.8 网卡选择

22.2.9 小结

22.3 使用Kubernetes管理

22.3.1 概述

22.3.2 本地安装Kubernetes

22.3.3 部署到Kubernetes

22.3.4 一键伸缩

22.3.5 滚动升级

22.4 本章小结

第23章 Dubbo向Spring Cloud迁移

23.1 将Dubbo服务纳入Spring Cloud体系中

23.1.1 将Dubbo项目改造成Spring Boot项目

23.1.2 集成Spring Cloud组件

23.1.3 将Dubbo服务暴露为RESTful API

23.2 将Spring Cloud服务Dubbo化

23.2.1 服务注册中心

23.2.2 服务提供者

23.2.3 服务消费者

23.2.4 Spring Cloud Dubbo框架原理

23.3 本章小结

第24章 Spring Cloud与分布式事务

24.1 概述

24.1.1 ACID

24.1.2 X/Open DTP模型与XA接口

24.1.3 CAP与BASE定理

24.2 解决方案

24.2.1 Java事务编程接口JTA

24.2.2 分布式事务TCC模式

24.2.3 分布式事务SAGA模式

24.3 实战

24.3.1 Atomikos JTA

24.3.2 TCC for REST

24.3.3 Servicecomb SAGA

24.4 本章小结

第25章 Spring Cloud与领域驱动实践

25.1 领域驱动概述

25.1.1 Spring Cloud与领域驱动

25.1.2 为什么需要领域建模

25.2 领域驱动核心概念

25.2.1 实体概述

25.2.2 值对象概述

25.2.3 领域服务

25.2.4 聚合及聚合根

25.2.5 边界上下文

25.2.6 工厂

25.2.7 仓储/资源库

25.2.8 CQRS架构

25.2.9 领域事件

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

25.3 Halo框架的设计

25.3.1 DDD应用框架的意义

25.3.2 领域驱动框架现状

25.3.3 Halo框架概述

25.3.4 Halo框架分层设计

25.3.5 Halo框架中的CQRS设计

25.3.6 Command与Command Bus设计

25.3.7 Event与Event Bus设计

25.3.8 Extend扩展点设计

25.3.9 业务身份设计

25.3.10 规范设计

25.4 Spring Cloud与Halo实战

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

25.4.2 Spring Cloud与Halo实战案例

25.4.3 新建二方包工程模块

25.4.4 新建DDD基础设施层

25.4.5 新建DDD领域层

25.4.6 新建DDD应用层

25.4.7 启动测试

25.5 本章小结

累计评论(3条) 5个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部