前言
SpringCloud 是什么
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
Spring Cloud是一系列框架的有序集合(Spring Cloud是一个规范)
开发服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等
利用Spring Boot的开发便利性简化了微服务架构的开发(自动装配)
Spring Cloud其实是一套规范,是一套用于构建微服务架构的规范,而不是一个可以拿来即用的框架(所谓规范就是应该有哪些功能组件,然后组件之间怎么配合,共同完成什么事情)。在这个规范之下第三方的Netflix公司开发了一些组件、Spring官方开发了一些框架/组件,包括第三方的阿里巴巴开发了一套框架/组件集合Spring Cloud Alibaba,这些才是Spring Cloud规范的实现。
小编将从前言、目录,主要内容这三个部分为大家讲解Spring Cloud与微服务构建,+jcc4261同时,也希望本文能够帮助到大家的学习
先来看看这份SpringCloud 目录
主要内容
第1章微服务简介
本章主要介绍了什么是微服务、为什么需要微服务、微服务的优缺点和面临的挑战,并且将单体架构的系统和微服务架构的系统进行了比较。
第2章Spring Cloud简介
Spring Cloud 作为Java语言的微服务框架,它依赖于Spring Boot,有快速开发、持续交付和容易部署等特点。Spring Cloud的组件非常多,涉及微服务的方方面面,并在开源社区Spring和Netflix、Pivotal两大公司的推动下越来越完善。本章主要介绍Spring Cloud,将从以下方面来讲解。
- 微服务应该具备的功能
- Spring Cloud介绍
- Dubbo介绍
- Kubcrnetes介绍
- Spring Cloud与 Dubbo比较
- Spring Cloud与Kubermetes 比较
第3章构建微服务的准备
第4章开发框架Spring Boot
这两章主要介绍了构建微服务的准备工作:开发环境的构建和Spring Boot的使用
第5章~9章
第5章服务注册和发现Eureka
第6章负载均衡Ribbon
第7章声明式调用Feign
第8章熔断器Hystrix
第9章路由网关Spring Cloud Zuul
这一部分介绍了Spring Cloud框架的基础模块——Spring Cloud Netflix模块,涵盖了Spring Cloud构建微服务的基础组件。诸如Eureka、Ribbon、Feign、Hystrix和Zuul等组件为微服务系统提供了基本的服务治理能力。这几章以案例为切入点,由浅人深介绍这些组件,并从源码的角度分析这些组件的工作原理。
第5章将从以下4个方面来讲解服务注册与发现模块Eurekag
- Eureka简介
- 编写一个Eureka注册和发现的例子
- 深人理解Eureka
- 编写高可用的Eureka Server
第6章,主要讲解如何使用RestTemplate和lRibbon相结合作为服务消费者去消费服务,同时从源码的角度来深入讲解Ribbon.
第7章声明式调用Feign
第8章,将讲述如何在用RestTemplate和Feign 消费服务时使用熔断器Hystrix,将从以下7个方面进行讲解
- 什么是Hystrix
- Hystrix解决了什么问题
- Hystrix 的工作原理
- 如何在RestTemplate和 Ribbon作为服务消费者时使用Hystrix
- 如何在Feign作为服务消费者时使用Hystrix
- 如何使用Hystrix Dashboard监控熔断器的状况
- 如何使用Turbine聚合多个Hystrix Dashboard
第9章,本章讲解Netflix构建微服务的另一个组件——智能路由网关组件Zuul,将从以下3个方面来讲述Zuul
- 为什么需要Zuul
- Zuul的工作原理
- Zuul的案例实战
第10章服务网关
本章主要介绍了Spring Cloud的第二代网关Gateway。Gateway在性能上比Zuul要优异很多,是Spring Cloud 的新一代网关。
第11章服务注册和发现Consul
本章首先讲解了Consul的基本架构和原理,以及它和Eureka的区别,然后以案例的形式讲解了如何使用Consul作为注册中心和分布式配置中心。
需要注意的是,Consul支持的KV存储的value值不能超过512KB;在dev模式启动下,所有数据都存储在内存中,重启Consul时会导致所有数据丢失;使用非dev模式启动时,Consul的数据会持久化,数据不会丢失。
第12章配置中心Spring Cloud Config
本章讲述SpringCloud的另一组件——分布式配置中心Spring Cloud Configo,分为以下4个方面
- Config Server从本地读取配置文件
- Config Server从远程Git仓库读取配置文件
- 搭建高可用Config Scrver集群
- 使用Spring Cloud Bus刷新配置
第13章服务链路追踪Spring Cloud sleuth
本章主要介绍了链路追踪组件Spring Cloud Sleuth,包括微服务系统为什么需要链路追踪组件,并以案例的形式详细介绍了如何在Spring Cloud微服务系统中使用链路追踪,以及如何传输、存储和展示链路数据。
第14章微服务监控Spring Boot Admin
本章是以案例的形式介绍了Spring Boot Admin,包括Spring Boot Admin在微服务系统中的应用、在 Spring BootAdmin中集成安全组件。
第15章Spring Boot Security详解
第16章使用Spring Cloud OAuth2保护微服务系统
第17章使用Spring Security OAuth2和JWT保护微服务系统
这三章主要介绍了Spring Cloud微服务系统的安全验证模块,包括Spring Boot Security组件和Spring Cloud OAuth2模块。
第15章,主要详细介绍了如何在Spring Boot应用中使用SpringBoot Security
第16章,介绍了如何在Spring Cloud微服务系统中使用Spring Cloud OAuth2来保障微服务系统的安全
第17章,介绍了如何在Spring Cloud微服务系统中使用Spring Cloud OAuth2和JWT来保护微服务的系统安全
第18章使用 Spring Cloud构建微服务综合案例
本章是以一个综合案例介绍了使用Spring Cloud构建微服务系统的全过程,该案例是对全书内容的总结和提炼。