18.SpringCloud都有哪些组件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了18.SpringCloud都有哪些组件?相关的知识,希望对你有一定的参考价值。

SpringCloud的组件非常繁杂,拥有相当多的子项目,包括为人熟知的阿里开源的生态也融入其中,称之为SpringCloudAlibaba;
在SpringCloud中,最为人熟知的当属SpringCloud Netflix了,它是由Netflix公司开源的,主要涵盖Eureka,Hystrix,Zuul,Ribbon等组件~
除了SpringCloudNetflix,还有Spring开发团队自研的,比如Feign、Config,Gateway,Bus~
不过,最近1年,Netflix宣布要将自家技术闭源,不过不用担心,国产的微服务技术栈已经崛起,阿里的Nacos,Sentinel,Dubbo~有逐步替代之势,由于SpringCloud的背后支撑,微服务技能栈,互相彼此切换非常容易;
如果你想掌握时下热门微服务技术栈,跟上时代技术步伐,欢迎关注黑马程序员
参考技术A SpringCloud的组件非常繁杂

SpringCloud

SpringCloud的理解?

SpringCloud是关注全局的服务协调治理框架它利用 Spring Boot 的开发便利性简化了分布式系统基础设施的开发,提供了如服务注册与发现、负载均衡、配置中心、消息总线、熔断器、数据监控等等组件,都可以用 spring boot 的开发风格做到一键启动和部署,所以叫它”全家桶”。

SpringCloud 的核心组件有哪些?

(1) Eureka  服务注册与发现中心(服务治理)。

 

(2) Ribbon  负载均衡器,服务间发起请求的时候,基于Ribbon做负载均衡,从一个服务的多台机器中选择一台;

(3) Feign  基于动态代理的服务调用工具,可以让我们通过定义接口的方式直接调用其他服务的API。

(4) Hystrix  用于服务之间远程调用时的容错保护,熔断器就好比家里电路装置的“保险”,当电路断路,那么“保险”装置的“保险丝”就会被熔断,从而达到断开电路的效果,以防止不良后果。而Spring Cloud Hystrix 实现了熔断器,线程隔离等一些列的服务保护功能,当Hystrix判定请求出现故障,会立马对请求做出响应动作,不会继续执行正常请求逻辑,请求线程也不会处于阻塞状态,从而有效防止雪崩效应;

(5) Zuul  是API网关,是客户端请求的入口,负责鉴权,路由等功能;

(6) Gateway  是新推出的基于Spring 5的响应式网关;

(7) Config  用于统一的配置管理;

(8) Bus  消息总线;

(9) Sleuth  用于请求链路跟踪;

(10) Stream  用来为微服务应用构建消息驱动能力。

我们将Spring Cloud的5个核心组件通过一张图串联起来,再来直观的感受一下其底层的架构原理:

springcloud 与dubbo有哪些区别?

说明:Dubbo是阿里开源的分布式服务框架,一般发音,[ˈdʌbəʊ]音似double;

 

Dubbo只是实现了服务治理,而SpringCloud分别覆盖了微服务架构的下的方方面面,服务治理只是其中的一个方面。

SpringCloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式。严格来说,这两种方式各有优劣。虽然从一定程度上来说,后者REST牺牲了服务调用的性能,但也避免了RPC带来的问题。而且REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更加合适。

常见面试题

(1)项目中用过springCloud中的哪些组件?(蓝月亮1年)

(2)springcloud 与dubbo有哪些区别?

(3) SpringCloud的理解?

参考好文:

(1)拜托!面试请不要再问我Spring Cloud底层原理 --

https://juejin.im/post/5be13b83f265da6116393fc7

(2)《Spring Boot实战》-- 汪云飞 编著

以上是关于18.SpringCloud都有哪些组件?的主要内容,如果未能解决你的问题,请参考以下文章

React都有哪些UI组件库

android ui组件都有哪些

Unity 中常见的组件都有哪些呢?

面试题:vue组件之间都有哪些通信方式?

OpenStack都有哪些核心组件?

在 PCA 之后找出我的组件中都有哪些功能