Alibaba SpringCloud手抄本,啃完秒杀面试官

五迷三道 提交于 2020-10-12 04:02:56

作为Java语言的落地微服务框架,Spring Cloud已经在各大企业普遍应用,各大云厂商也支持Spring Cloud微服务框架的云产品。可以说,Spring Cloud微服务框架已经应用到了各大行业之中,并成为Java开发者的必备技能之一, 熟练掌握Spring Cloud是面试者的加分项。Spring Cloud由Spring Cloud社区维护,并且在Pivatol和Nettlix两大公司的推动下飞速发展。随着Eureka的闭源,虽然Netflix OSS等组件进入维护期,不再提供新功能,但SpringCloud微服务框架并没有受到显著影响,而是被越来越多的企业和开发者所接受。阿里巴巴推出的Nacos和Sentinel等组件已经加入Spring Cloud 孵化器项目,未来极有可能替代NetlixOSS,因此Spring Cloud是一个极具生 命力的微服务框架。

今天这份学习笔记来自于Alibaba SpringCloud生态系统,笔记全面涵盖了通过Spring Cloud 构建微服务的相关知识点:微服务架构和Spring Cloud、通过Spring Cloud 构建微服务的准备工作、以案例为切入点,讲解了通过Spring Cloud构建微服务的基础组件,包括Eureka、Ribbon、 Feign、Hystrix、Zul、Gateway、Consul、Config、Sleuth、 Admin等组件、使用Spring CloudOAuth2来保护微服务系统的相关知识。最后用一个综合案例全面讲解了如何使用Spring Cloud构建微服务,可用于实际开发中。

这份笔记的内容太多了,为了不影响大家的整体阅读体验,我把这份笔记完整版的获取方式放在了文末!!!

第一章微服务简介

单体架构及其存在的不足

微服务的不足

服务的部署

微服务和SOA的关系

微服务的设计原则

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第2章Spring Cloud简介

微服务应该具备的功能

  • 服务的注册与发现
  • 服务的负载均衡
  • 服务的容错
  • 服务网关
  • 服务配置的统一 管理
  • 服务链路追踪

Spring Cloud

  • 简介
  • 常用组件
  • 项目一览

Dubbo简介

Spring Cloud与Dubbo比较

Kubernetes简介

Spring Could与Kubernetes比较

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第3章构建微服务的准备

JDK的安装

  • JDK 的下载和安装
  • 环境变量的配置

IDEA的安装

  • IDEA 的下载
  • 用 IDEA创建一个Spring Boot工程
  • 用IDEA启动多个SpringBoot工程实例

构建工具Maven的使用

  • Maven 简介
  • Maven的安装
  • Maven 的核心概念
  • 编写 Pom文件
  • Maven 构建项目的生命周期
  • 常用 的Maven命令

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第4章开发框架Spring Boot

Spring Boot简介

  • Spring Boot的特点
  • Spring Boot的优点

用IDEA构建Spring Boot工程

  • 项目结构
  • 在 Spring Boot工程中构建Web程序
  • Spring Boot的测试

Spring Boot配置文件详解

  • 自定义属性
  • 将配置 文件的属性赋给实体类
  • 自定义配置文件
  • 多个环境的配置文件

运行状态监控Actuator

  • 查看运行程序的健康状态
  • 查看运 行程序的Bean
  • 使用Actuator关闭应用程序
  • 使用shell连接Actuator

Spring Boot整合JPA

Spring Boot整合Redis

  • Redis的安装
  • 在Spring Boot中使用Redis

Spring Boot整合Swagger2,搭建Restful API在线文档

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第5章服务注册和发现Eureka

Eureka简介

  • 什么是Eureka
  • 为什么选择Eureka
  • Eureka的基本架构

编写Eureka Server

编写Eureka Client

源码解析Eureka

  • Eureka 的一些概念
  • Eureka 的高可用架构.
  • Register 服务注册
  • Renew 服务续约
  • 为什么EurekaClient获取服务实例这么慢
  • Eureka的自我保护模式

构建高可用的Eureka Server集群

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第6章负载均衡Ribbon

RestTemplate简介

Ribbon简介

使用RestTemplate和Ribbon来消费服务

LoadBalancerClient简介

源码解析Ribbon

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第7章声明式调用Feign

写一个Feign客户端

FeignClient详解

FeignClient的配置

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

在Feign中使用HttpClient和OKHttp

Feign是如何实现负载均衡的

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

 

第8章熔断器Hystrix

Hystrix简介

Hystrix解决的问题

Hystrix的设计原则

Hystrix的工作机制

在RestTemplate和Ribbon上使用熔断器

在Feign上使用熔断器

使用Hystrix Dashboard监控熔断器的状态

使用Turbine聚合监控

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第9章路由网关Spring Cloud Zuul

为什么需要Zuul

Zuul的工作原理

案例实战

  • 搭建 Zuul服务
  • 在Zuul上配置API接口的版本号
  • 在Zuul上配置熔断器
  • 在Zuul中使用过滤器
  • Zuul的常见使用方式

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第10章服务网关

服务网关的实现原理

断言工厂

  • After路由断言工厂
  • Header断言工厂
  • Cookie路由断言工厂
  • Host路由断言工厂
  • Method路由断言工厂
  • Path路由断言工厂
  • Query路由断言工厂

过滤器

  • 过滤器的作用
  • 过滤器的生命周期
  • 网关过滤器
  • 全局过滤器

限流

  • 常见的限流算法
  • 服务网关的限流

服务化

  • 工程介绍
  • service-gateway工程详细介绍

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第11章服务注册和发现Consul

什么是Consul

  • 基本术语
  • Consul的特点和功能
  • Consul的原理
  • Consul的基本架构
  • Consul服务注册发现流程

Consul与Eureka比较

下载和安装Consul

使用Spring Cloud Consul进行服务注册和发现

  • 服务提供者consul-provider
  • 服务消费者consul-provider

使用Spring Cloud Consul Config做服务配置中心

动态刷新配置

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第12章配置中心Spring Cloud Config

Config Server从本地读取配置文件

  • 构建Config Server
  • 构建Config Client

Config Server从远程Git仓库读取配置文件

构建高可用的Config Server

  • 构建Eureka Server
  • 改造Config Server
  • 改造Config Client

使用Spring Cloud Bus刷新配置

将配置存储在MySQL数据库

  • 改造config-server工程
  • 初始化数据库

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第13章服务链路追踪Spring Cloud Sleuth

为什么需要Spring Cloud Sleuth

基本术语

案例讲解

  • 启动Zipkin Server
  • 构建服务提供者
  • 构建服务消费者
  • 项目演示

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

使用RabbitMQ传输链路数据

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

在ElasticSearch中存储链路数据

用Kibana展示链路数据

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第14章微服务监控Spring Boot Admin

使用Spring Boot Admin监控Spring Boot应用程序

  • 创建Spring Boot Admin Server
  • 创建Spring Boot Admin Client

使用Spring Boot Admin监控Spring Cloud微服务

  • 构建Admin Server
  • 构建Admin Client

在Spring Boot Admin中添加Security和Mail组件

  • Spring Boot Admin集成Security组件
  • Spring Boot Admin集成Mail组件

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第15章Spring Boot Security详解

Spring Security简介

  • 什么是Spring Security
  • 为什么选择Spring Security
  • Spring Security提供的安全模块

Spring Boot Security与Spring Security的关系

Spring Boot Security案例详解

  • 构建Spring Boot Security工程
  • 配置Spring Security
  • 编写相关界面
  • Spring Security方法级别上的保护
  • 从数据库中读取用户的认证信息

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第16章使用Spring Cloud OAuth2保护微服务系统

什么是OAuth2

如何使用Spring OAuth2

  • OAuth2 Provider
  • OAuth2 Client

案例分析

  • 编写Eureka Server
  • 编写Uaa授权服务
  • 编写service-hi资源服务

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第17章使用Spring Security OAuth2和WT保护微服务系统

JWT简介

  • 什么是JWT
  • JWT的结构
  • WT的应用场景
  • 如何使用JWT

案例分析

  • 案例架构设计
  • 编写主Maven工程
  • 编写Eureka Server
  • 编写Uaa授权服务
  • 编写user-service资源服务

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

第18章使用Spring Cloud构建微服务综合案例

案例介绍

  • 工程结构
  • 使用的技术栈
  • 工程架构
  • 功能展示

案例详解

  • 准备工作
  • 构建主Maven工程
  • 构建eureka-server工程
  • 构建config-server工程
  • 构建Zipkin工程
  • 构建monitoring-service工程
  • 构建uaa-service工程
  • 构建gateway-service工程
  • 构建admin-service工程
  • 构建user-service工程
  • 构建blog-service工程
  • 构建log-service工程

启动源码工程

项目演示

Alibaba SpringCloud手抄本,啃完秒杀面试官

 

需要免费获取这份笔记的老铁,麻烦帮忙动动发财的小手帮忙转发一下这篇文章+关注,然后扫码获取!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!