一、SpringCloud概览

Spring Cloud 作为 Java 语言的微服务框架,它依赖于 Spring Boot ,有快速开发、持续交付和容易部署等特点。 Spring Cloud 的组件非常多,涉及微服务的方方面面,井在开源社区 Spring、Netflix Pivotal 两大公司的推动下越来越完善。
SpringCloud是一系列组件的有机集合。
alt text
SpringCloud技术体系思维导图
alt text

二、SpringCloud核心组件

1、Eureka

Netflix Eureka 是由 Netflix 开源的一款基于 REST 的服务发现组件,包括 Eureka Server 及 Eureka Client。
alt text

2、Ribbon

Ribbon Netflix 公司开源的一个负载均衡的组件。
alt text

3、Feign

Feign是是一个声明式的Web Service客户端。
alt text

4、Hystrix

Hystrix是Netstflix 公司开源的一个项目,它提供了熔断器功能,能够阻止分布式系统中出现联动故障。
alt text

主流熔断器Sentinel 与 Hystrix、resilience4j 的对比:
alt text

5、Zuul

Zuul 是由 Netflix 孵化的一个致力于“网关 “解决方案的开源组件。
alt text

6、Gateway

Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0、 Spring Boot 2.0 和 Project Reactor 等技术开发的网关, Spring Cloud Gateway 旨在为微服务架构提供简单、 有效且统一的 API 路由管理方式。
alt text

7、Config

Spring Cloud 中提供了分布式配置中 Spring Cloud Config ,为外部配置提供了客户端和服务器端的支持。
alt text

8、 Bus

使用 Spring Cloud Bus, 可以非常容易地搭建起消息总线。
alt text

9、OAuth2

Sprin Cloud 构建的微服务系统中可以使用 Spring Cloud OAuth2 来保护微服务系统。
alt text

10、Sleuth

Spring Cloud Sleuth是Spring Cloud 个组件,它的主要功能是在分布式系统中提供服务链路追踪的解决方案。
alt text

总结

本文中对架构的演进及Spring Cloud 构建微服务的基本组件进行了概览。
alt text

参考文献或转载相关: