一、SpringCloud是什么?
SpringCloud最擅长的就是集成,把其他框架拿过来集成到自己的项目中。
SpringCloud也是一样,它将现在非常流行的一些技术融合到了一起,实现了诸如:服务发现注册、配置管理、服务发现、智能路由、负载均衡、熔断器、控制总线、集群状态等功能。其主要涉及的组件包括:
- 基于Netflix实现服务治理、客户端负载均衡和声明式调用;
- 服务网关;
- 微服务容错管理;
- 整合消息中间件提供消息驱动式开发
- 基于Spring Security提供微服务安全、单点登录功能
- 分布式、版本化的统一配置管理
- 微服务调用链及追踪管理
SpringCloud架构图
二、SpringCloud组件概览
SpringCloud的组件分为两大类型
第一种是依赖其他组件并提供服务的,主要有Ribbon、Hystrix、Feign、Stream、Bus、Sleuth
Ribbon:客户端负载均衡,特性有区域亲和、重试机制
Hystrix:客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离。
Feign:声明式服务调用,本质上就是Ribbon+Hystrix
Stream:消息驱动,有Sink、Source、Processor三种通道,特性有订阅发布、消费组、消息分区。
Bus:消息总线,配合Config仓库修改得一种Stream实现。
Sleuth:分布式服务追踪,需要搞清楚TraceID和SpanID以及抽样,如何与ELK整合。
第二种是独自启动不需要依赖其他组件,主要有Eureka,Dashboard,Turbine,Zuul,Config。
Eureka:服务注册中心,特性有失效剔除、服务保护。
Dashboard:Hystrix仪表盘,监控集群模式和单点模式,其中集群模式需要收集器Turbine配合
Turbine:集群收集器,服务于Dashboard。
Zuul:API服务网关,功能有路由分发和过滤。
Config:分布式配置中心,支持本地仓库、SVN、Git、Jar包内配置等模式。
三、SpringCloud核心组件详解
SpringCloud核心组件主要包括Spring Cloud Netflix项目下的Eureka、Ribbon、Hystrix、Zuul以及Config和Feign。
1、Eureka
Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Reigstry和Service Discovery实现,也是Spring Cloud体系中最重要最核心的组件之一。
我们可以把Eureka看作是一个服务中心,所有的可以提供的服务都注册到它这里来管理,其他调用者需要的时候去注册中心获取,然后再进行调用。
这样就避免了服务之间的直接调用,方便后续的水平扩展、故障转移等。
参考文档:https://blog.csdn.net/j1231230/article/details/117283740?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-117283740-blog-124125613.pc_relevant_multi_platform_featuressortv2dupreplace&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-117283740-blog-124125613.pc_relevant_multi_platform_featuressortv2dupreplace&utm_relevant_index=7
标签:服务,Hystrix,SpringCloud,Eureka,blog,简介,组件 From: https://www.cnblogs.com/longlyseul/p/16651637.html