正文看书,摘抄点笔记,方便记忆
常用组件Spring Cloud 提供了开发分布式微服务系统的一些常用组件,例如服务注册和 发现、配置中心、熔断器、智能路由、微代理、控制总线、全局锁、分布式会话等。
(1)服务注册和发现组件 Eureka
利用 Eureka 组件可以很轻松地实现服务的注册和发现的功能。
Eureka 组件提供了服务的健 康监测,以及界面友好的 UI。
通过 Eureka 组件提供的 UI, Eureka 组件可以让开发人员随时了解服务单元的运行情况。
另外 Spring Cloud 也支持 Consul 和 Zookeeper,用于注册和发现服务。
(2)熔断组件 Hystrix Hystrix
它是一个熔断组件,它除了有一些基本的熔断器功能外,还能够实现服务降级、服 务限流的功能。
另外 Hystrix 提供了熔断器的健康监测,以及熔断器健康数据的 API 接口。
Hystrix Dashboard 组件提供了单个服务熔断器的健康状态数据的界面展示功能 ,
Hystrix Turbine 组件提供了多个服务的熔断器的健康状态数据的界面展示功能。
(3)负载均衡组件 Ribbon Ribbon
它是一个负载均衡组件,它通常和 Eureka、 Zuul、 RestTemplate、 Feign 配合使用。
Ribbon 和 Zuul 配合,很容易做到负载均衡,将请求根据负载均衡策略分配到不同的服务实例中。
Ribbon 和I RestTemplate、 Feign 配合,在消费服务时能够做到负载均衡。
(4)路由网关 Zuul
上述的 4 个组件都来自于 Netflix 的公司 , 统一称为 Spring Cloud Netflixo路由网关Zuul 有智能路由和过滤的功能。内部服务的 API 接口通过Zuul 网关统一对外暴露,
内部服务的 API 接口不直接暴露,防止了内部服务敏感信息对外暴露。在默认的情况下,
Zuul 和Ribbon 相结合,能够做到负载均衡、 智能路由。 Zuul 的过滤功能是通过拦截请求来实现的,可以对一些用户的角色和权限进行判断,起到安全验证的作用, 同时也可以用于输山实时的请求日志。
(5) Spring Cloud Config
Spring Cloud Config 组件提供了配置文件统一管理的功能。Spring Cloud Config 包括Server 端和 Client 端,Server 端读取本地仓库或者远程仓库的配置文件,所有的 Client 向 Server 读 取配置信息,从而达到配置文件统一管理的目的。通常情况下, Spring Cloud Config 和 Spring Cloud Bus 相互配合刷新指定 Client 或所有 Client 的配置文件。
(6) Spring Cloud Security
Spring Cloud Security 是对 Spring Security 组件的封装.
Spring Cloud Security 向服务单元 提供了用户验证和权限认证。
一般来说,单独在微服务系统中使用 Spring Cloud Security 是很 少见的,
一般它会配合 Spring Security 0Auth2 组件一起使用,通过搭建授权服务,验证 Token 或者 JWT 这种形式对整个微服务系统进行安全验证。
(7) Spring Cloud Sleuth
Spring Cloud Sleuth 是一个分布式链路追踪组件,它封装了 Dapper、 Zipkin 和 Kibana 等组件,通过它可以知道服务之间的相互依赖关系,并实时观察链路的调用情况。
(8) Spring Cloud Stream
一个简单的由 Spring Cloud 构述的微服务系统,通常由服务注册中心 Eureka、网关 Zuul、配置中心 Config 和授权服务 Auth 构成.Spring Cloud Stream 是 Spring Cloud 框架的数据流操作包,可以封装 RabbitMq、ActiveMq、 Kafka、 Redis 等消息组件, 利用 Spring Cloud Stream 可以实现消息的接收和发送。