作为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的关系
微服务的设计原则
第2章Spring Cloud简介
微服务应该具备的功能
- 服务的注册与发现
- 服务的负载均衡
- 服务的容错
- 服务网关
- 服务配置的统一 管理
- 服务链路追踪
Spring Cloud
- 简介
- 常用组件
- 项目一览
Dubbo简介
Spring Cloud与Dubbo比较
Kubernetes简介
Spring Could与Kubernetes比较
第3章构建微服务的准备
JDK的安装
- JDK 的下载和安装
- 环境变量的配置
IDEA的安装
- IDEA 的下载
- 用 IDEA创建一个Spring Boot工程
- 用IDEA启动多个SpringBoot工程实例
构建工具Maven的使用
- Maven 简介
- Maven的安装
- Maven 的核心概念
- 编写 Pom文件
- Maven 构建项目的生命周期
- 常用 的Maven命令
第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在线文档
第5章服务注册和发现Eureka
Eureka简介
- 什么是Eureka
- 为什么选择Eureka
- Eureka的基本架构
编写Eureka Server
编写Eureka Client
源码解析Eureka
- Eureka 的一些概念
- Eureka 的高可用架构.
- Register 服务注册
- Renew 服务续约
- 为什么EurekaClient获取服务实例这么慢
- Eureka的自我保护模式
构建高可用的Eureka Server集群
第6章负载均衡Ribbon
RestTemplate简介
Ribbon简介
使用RestTemplate和Ribbon来消费服务
LoadBalancerClient简介
源码解析Ribbon
第7章声明式调用Feign
写一个Feign客户端
FeignClient详解
FeignClient的配置
从源码的角度讲解Feign的工作原理
在Feign中使用HttpClient和OKHttp
Feign是如何实现负载均衡的
第8章熔断器Hystrix
Hystrix简介
Hystrix解决的问题
Hystrix的设计原则
Hystrix的工作机制
在RestTemplate和Ribbon上使用熔断器
在Feign上使用熔断器
使用Hystrix Dashboard监控熔断器的状态
使用Turbine聚合监控
第9章路由网关Spring Cloud Zuul
为什么需要Zuul
Zuul的工作原理
案例实战
- 搭建 Zuul服务
- 在Zuul上配置API接口的版本号
- 在Zuul上配置熔断器
- 在Zuul中使用过滤器
- Zuul的常见使用方式
第10章服务网关
服务网关的实现原理
断言工厂
- After路由断言工厂
- Header断言工厂
- Cookie路由断言工厂
- Host路由断言工厂
- Method路由断言工厂
- Path路由断言工厂
- Query路由断言工厂
过滤器
- 过滤器的作用
- 过滤器的生命周期
- 网关过滤器
- 全局过滤器
限流
- 常见的限流算法
- 服务网关的限流
服务化
- 工程介绍
- service-gateway工程详细介绍
第11章服务注册和发现Consul
什么是Consul
- 基本术语
- Consul的特点和功能
- Consul的原理
- Consul的基本架构
- Consul服务注册发现流程
Consul与Eureka比较
下载和安装Consul
使用Spring Cloud Consul进行服务注册和发现
- 服务提供者consul-provider
- 服务消费者consul-provider
使用Spring Cloud Consul Config做服务配置中心
动态刷新配置
第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工程
- 初始化数据库
第13章服务链路追踪Spring Cloud Sleuth
为什么需要Spring Cloud Sleuth
基本术语
案例讲解
- 启动Zipkin Server
- 构建服务提供者
- 构建服务消费者
- 项目演示
在链路数据中添加自定义数据
使用RabbitMQ传输链路数据
在MySQL数据库中存储链路数据
在ElasticSearch中存储链路数据
用Kibana展示链路数据
第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组件
第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方法级别上的保护
- 从数据库中读取用户的认证信息
第16章使用Spring Cloud OAuth2保护微服务系统
什么是OAuth2
如何使用Spring OAuth2
- OAuth2 Provider
- OAuth2 Client
案例分析
- 编写Eureka Server
- 编写Uaa授权服务
- 编写service-hi资源服务
第17章使用Spring Security OAuth2和WT保护微服务系统
JWT简介
- 什么是JWT
- JWT的结构
- WT的应用场景
- 如何使用JWT
案例分析
- 案例架构设计
- 编写主Maven工程
- 编写Eureka Server
- 编写Uaa授权服务
- 编写user-service资源服务
第18章使用Spring Cloud构建微服务综合案例
案例介绍
- 工程结构
- 使用的技术栈
- 工程架构
- 功能展示
案例详解
- 准备工作
- 构建主Maven工程
- 构建eureka-server工程
- 构建config-server工程
- 构建Zipkin工程
- 构建monitoring-service工程
- 构建uaa-service工程
- 构建gateway-service工程
- 构建admin-service工程
- 构建user-service工程
- 构建blog-service工程
- 构建log-service工程
启动源码工程
项目演示
需要免费获取这份笔记的老铁,麻烦帮忙动动发财的小手帮忙转发一下这篇文章+关注,然后扫码获取!
来源:oschina
链接:https://my.oschina.net/u/4389900/blog/4547843