腾讯技术官16个月心血终成佳话,微服务先驱:重学SpringCloud

Posted java路人甲乙丙丁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了腾讯技术官16个月心血终成佳话,微服务先驱:重学SpringCloud相关的知识,希望对你有一定的参考价值。

如果你没听说过微服务,也没有听说过Spring Cloud,或者你正在学习或尝试使用SpringCloud去落地微服务架构,那么本文会非常适合你。因为本文更加偏实战,文中所讲是一套可落地的解决方案。不管你是初学者、开发人员还是架构师,只要你想使用Spring Cloud去落地微服务架构,就可以阅读并学习本文。

那么今天就从目录、主要内容、总结三个部分来给大家进行微服务SpringCloud的扩展学习

目录

主要内容

本文共分成了25章,按照“核心组件→进阶实战→解决方案”的结构将内容从逻辑上划分为三个部分,具体如下:

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

第1章微服务与Spring Cloud

1.1 微服务架构概述

  • 应用架构的发展

  • 微服务架构

  • 微服务解决方案

1.2 Spring Cloud与中间件

  • 中间件概述

  • 什么是Spring Cloud

  • Spring Cloud项目模块

  • Spring Cloud与服务治理中间件

  • Spring Cloud与配置中心中间件

  • Spring Cloud与网关中间件

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

1.3 Spring Cloud增强生态

  • Spring Cloud分布式事务

  • Spring Cloud与领域驱动

  • Spring Cloud与gRPC

  • Spring Cloud与Dubbo生态融合

第2章+第三章 Spring Cloud Eureka(上下篇)

  • 服务发现概述

  • Spring Cloud Eureka入门案例

  • Eureka Server的RESTAPI简介

  • Eureka的核心类

  • 服务的核心操作

  • Eureka的设计理念

  • Eureka参数调优及监控

  • Eureka实战

  • Eureka故障演练

第4章 Spring Cloud Feign的使用扩展

4.1 Feign概述

  • 什么是Feign

  • Feign的入门案例

  • Feign的工作原理

4.2 Feign的基础功能

  • FeignClient注解剖析

  • Feign开启GZIP压缩

  • Feign支持属性文件配置

  • Feign Client开启日志

  • Feign的超时设置

4.3 Feign的实战运用

  • Feign默认Client的替换

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

  • Feign的文件上传

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

  • Feign返回图片流处理方式

  • Feign调用传递Token

4.4 venus-cloud-feign设计与使用

  • venus-cloud-feign的设计

  • venus-cloud-feign的使用

第5章 Spring Cloud Ribbon实战运用

5.1 Spring Cloud Ribbon概述

  • Ribbon与负载均衡

  • 入门案例

5.2 Spring Cloud Ribbon实战

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

  • Ribbon超时与重试

  • Ribbon的饥饿加裁

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

  • Ribbon脱离Eureka的使用

5.3 Spring Cloud Ribbon进阶

  • 核心工作原理

  • 负载均衡策略源码导读

第6章 Spring Cloud Hystrix实战运用

6.1 Spring Cloud Hystrix概述

  • 解决什么问题

  • 设计目标

6.2 Spring Cloud Hystrix实战运用

  • 入门示例

  • Feign中使用断路器

  • Hystrix Dashboard

  • Turbine聚合Hystrix

  • Hystrix异常机制和处理

  • Hystrix配置说明

  • Hystrix线程调整和计算

  • Hystrix请求缓存

  • Hystrix Request Collapser

  • Hystrix线程传递及并发策略

  • Hystrix命令注解

第7章 Spring Cloud Zuul基础篇

  • Spring Cloud Zuul概述

  • Spring Cloud Zuul入门案例

  • Spring Cloud Zuul典型配置

第8章 Spring Cloud Zuul中级篇

  • Spring Cloud Zuul Filter链

  • Spring Cloud Zuul权限集成

  • Spring Cloud Zuul限流

  • Spring Cloud Zuul动态路由

  • Spring Cloud Zuul灰度发布

  • Spring Cloud Zuul文件上传

  • Spring Cloud Zuul实用小技巧

第9章 Spring Cloud Zuul高级篇

  • Spring Cloud Zuul多层负载

  • Spring Cloud Zuul应用优化

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

第10章 Spring Cloud基础综合案例

10.1 基础框架

  • 搭建说明

  • 技术方案

  • 具体实现

10.2 实战扩展

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

  • 用户上下文对象传递

  • Zuul的Fallback机制

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

  • Eureka推荐配置

  • Ribbon推荐配置

  • Hystrix推荐配置

  • Zuul推荐配置

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

第11章 Spring Cloud Config上篇

11.1 Spring Cloud Config配置中心概述

  • 什么是配置中心

  • Spring Cloud Config

  • Spring Cloud Config入门案例

11.2 刷新配置中心信息

  • 手动刷新操作

  • 结合Spring Cloud Bus热刷新

第12章 Spring Cloud Config下篇

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

  • Git多种配置详解概述

  • Git中URI占位符

  • 模式匹配和多个存储库

  • 路径搜索占位符

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

  • Spring Cloud Config基于mysql的配置概述

  • Spring Cloud Config与MySQL结合案例

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

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

  • Spring Cloud Config MongoDB案例

12.4 Spring Cloud Config使用技能

12.5 Spring Cloud Config功能扩展

  • 客户端自动刷新

  • 客户端回退功能

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

12.6 高可用部分

  • 客户端高可用

  • 服务端高可用

12.7 Spring Cloud与Apollo配置使用

  • Apollo简介

  • Apollo具备功能

  • Apollo总体架构模块

  • 客户端设计

  • Apollo运行环境方式

12.8 Spring Cloud与Apollo结合使用实战

  • Apollo环境的要求

  • Apollo基础数据导入

  • 创建config-client-apollo

  • 创建gateway-zuul-apollo

第13章 Spring Cloud Consul上篇

13.1 Consul简介

  • 什么是Consul

  • Consul能做什么

  • Consul的安装

  • Consul启动

  • Consul Ul

  • Consul实用接口

13.2 Spring Cloud Consul简介

  • Spring Cloud Consul是什么

  • Spring Cloud Consul能做什么

  • Spring Cloud Consul入门案例

第14章 Spring Cloud Consul下篇

14.1 Spring Cloud Consul深入

  • Spring Cloud Consul的模块介绍

  • Spring Cloud Consul Discovery

  • Spring Cloud Consul Config

14.2 Spring Cloud Consul功能重写

  • 重写ConsulDiscoveryClient

  • 重写ConsulServerList

14.3 常见问题排查

  • 版本兼容的那些坑

  • Spring Cloud Consul的一些问题

第15章 Spring Cloud认证和鉴权

15.1 微服务安全与权限

15.2 Spring Cloud认证与鉴权方案

  • 单体应用下的常用方案

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

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

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

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

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

15.3 Spring Cloud认证鉴权实战案例

  • 创建Spring Cloud Gateway及关联信息

  • 核心的公共工程core-service

  • 服务提供方工程provider-service

  • 客户端工程client-service

  • 运行结果

第16章 Spring Cloud全链路监控

16.1 全链路监控概述 16.2 Sleuth基本用法 16.3 Sleuth深入用法 16.4 Spring Cloud与SkyWalking 16.5 Spring Cloud与Skywalking实战 16.6 Spring Cloud与Pinpoint 16.7 Spring Cloud与Pinpoint实战

第17章 Spring Cloud Gateway上篇

17.1 Spring Cloud Gateway概述 17.2 Spring Cloud Gateway的工作原理 17.3 Spring Cloud Gateway入门案例 17.4 Spring Cloud Gateway的路由断言 17.5 Spring Cloud Gateway的内置Filter

第18章 Spring Cloud Gateway下篇

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

18.2 Gateway Filter和Global Filter

18.3 Spring Cloud Gateway实战

  • Spring Cloud Gateway权重路由

  • Spring Cloud Gateway中Https的使用技巧

  • Spring Cloud Gateway集成Swagger

  • Spring Cloud Gateway限流

  • Spring Cloud Gateway的动态路由

18.4 Spring Cloud Gateway源码篇

  • Spring Cloud Gateway的处理流程

  • Gateway中ServerWebExchange构建分析

  • DispatcherHandler源码分析

  • RoutePredicateHandlerMapping源码分析

  • FilteringWebHandler源码分析

  • 执行Filter源码分析

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

第19章 Spring Cloud与gRPC上篇

19.1 Spring Cloud为什么需要gRPC 19.2 gRPC简介 19.3 gRPC的一些核心概念 19.4 RPC的生命周期 19.5 gRPC依赖于Protocol Buffers 19.6 gRPC基于HTTP 19.7 gRPC基于Netty进行IO处理 19.8 gRPC案例实战

第20章 gRPC在Spring Cloud与gRPC下篇

20.1 gRPC Spring Boot Starter介绍 20.2 gRPC Spring Boot Starter架构设计 20.3 gRPC Spring Boot Starter源码分析

  • gRPC Server Spring Boot Starter源码解析

  • gRPC Client Spring Boot Starter源码解析

20.4案例实战

  • 注册中心

  • 链路追踪服务端

  • gRPC的lib工程

  • gRPC服务端

  • gRPC客户端

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

21.1 背景 21.2 常见发布方式

  • 蓝绿发布

  • 滚动发布

  • 灰度发布

  • 对比

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

  • Discovery项目

  • 实战案例

  • 实战测试

第22章 Spring Cloud容器化

22.1 Java服务Docker化

  • 基础镜像选择

  • Dockerfile编写

  • 镜像构建插件

  • JDK8+的Docker支持

  • JDK9+镜像优化

22.2 Spring Cloud组件的Docker化

  • Docker化配置

  • config-server的Docker化

  • eureka-server的Docker化

  • gateway的Docker化

  • turbine的Docker化

  • Spring Admin的Docker化

  • biz-service的Docker化

  • 网卡选择

22.3 使用Kubernetes管理

  • 概述

  • 本地安装Kubernetes

  • 部署到Kubernetes

  • ─键伸缩

  • 滚动升级

第23章 Dubbo向Spring Cloud迁移

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

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

  • 集成Spring Cloud组件

  • 将Dubbo服务暴露为RESTfulAPI

23.2将Spring Cloud服务Dubbo化

  • 服务注册中心

  • 服务提供者

  • 服务消费者

  • Spring Cloud Dubbo框架原理

第24章 Spring Cloud与分布式事务

24.1 概述

  • ACID

  • X/Open DTP模型与XA接口

  • CAP与BASE定理

24.2 解决方案

  • Java事务编程接口JTA

  • 分布式事务TCC模式

  • 分布式事务SAGA模式

24.3 实战

  • Atomikos JTA

  • TCC for REST

  • Servicecomb SAGA

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

25.1领域驱动概述

  • Spring Cloud与领域驱动

  • 为什么需要领域建模

25.2领域驱动核心概念

  • 实体概述

  • 值对象概述

  • 领域服务

  • 聚合及聚合根

  • 边界上下文

  • 工厂

  • 仓储/资源库

  • CQRS架构

  • 领域事件

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

25.3 Halo框架的设计

  • DDD应用框架的意义

  • 领域驱动框架现状

  • Halo框架概述

  • Halo框架分层设计

  • Halo框架中的CQRS设计

  • Command与Command Bus设计

  • Event与Event Bus设计

  • Extend扩展点设计

  • 业务身份设计

  • 规范设计

25.4 Spring Cloud与Halo实战

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

  • Spring Cloud与Halo实战案例

  • 新建二方包工程模块

  • 新建DDD基础设施层

  • 新建DDD领域层

  • 新建DDD应用层

  • 启动测试

这份【重学微服务SpringCloud实战】文档共有656页,需要完整版的朋友,由于篇幅限制,就不一一展示了,有需要文中资料完整版的小伙伴们注意啦:一键三连(点赞+收藏+关注)添加微信:mxh5261   领取资料!

Spring Cloud 的出现,可以说是为微服务架构迎来一缕曙光,有 SpringCloud社区的巨大支持和技术保障,让我们实施微服务架构变得异常简单了起来,它不像我们之前所列举的框架那样,只是解决微服务中的某一个问题,而是一个解决微服务架构实施的综合性解决框架,它整合了诸多被广泛实践和证明有效的框架作为实施的基础组件,又在该体系基础上创建了一些非常优秀的边缘组件将它们很好地整合起来。

好了,今天的SpringCloud就分享到这里,希望能够帮助到各位的学习,提升自己技术深度和广度的同时,灵活将自己所掌握的技术点应用到工作中,升职加薪!共勉!!!

以上是关于腾讯技术官16个月心血终成佳话,微服务先驱:重学SpringCloud的主要内容,如果未能解决你的问题,请参考以下文章

腾讯云服务器活动 120可以买16个月的云服务器

运维的误区:好心办坏事,终成背锅侠---腾讯云与前沿数控之数据问题有感

腾讯云与长江商业银行战略合作,用云计算连接智慧小微金融服务

腾讯云新活动:1C2G服务器16个月120大洋,不是学生也能参加

程序员:腾讯32k,16个月+5万签字费,美团35k,15.5个月,怎么选

重学SpringCloud系列一之微服务入门