spring cloud各个组件的主要功能(面试用)
2022/5/23 23:21:35
本文主要是介绍spring cloud各个组件的主要功能(面试用),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- spring cloud各个组件的主要功能(面试用)
- 服务注册中心与配置中心
- 负载均衡
- 服务容错
- 声明式服务调用
- 网关
spring cloud各个组件的主要功能(面试用)
服务注册中心与配置中心
之所以把这两个组件放一块,是因为使用了一段时间的nacos,因为nacos集成了这两项重要的功能。
注册中心(服务治理)Eureka
维护着一份微服务清单,这些微服务连接Eureka,并且保持心跳,持续表明自己还活着;将当前清单中超时(默认为90秒)没有心跳的服务剔除出去,并且统计心跳失败的比例在15分钟之内是否低于85%(通常由于网络不稳定导致),是的话会进入自我保护模式,不再删除清单中的数据,网络恢复后,会自动退出该模式
配置中心Config
将微服务的配置文件放到统一的位置管理(比如GitHub),然后去获取这些配置文件来启动或部署应用
负载均衡
Ribbon
简单理解就是合理摊分用户的请求,基于某种规则(如轮询,随机连接等)去连接后台服务,默认采用轮询,也可以自定义实现。
ps:与nginx的区别:
Ribbon是客户端负载均衡,服务清单在客户端(从Eureka Server处获得),在发送请求时通过负载均衡算法,在多个服务器之间选择一个进行访问(由客户端决定访问哪个服务器);
对nginx而言,服务清单在服务端,由nginx反向代理进行分配。
服务容错
Hystrix(网上也管它叫熔断器,断路器)
一个防雪崩的工具,雪崩:由于单个服务的延迟,可能导致所有的请求都处于延迟状态,很快就使服务负载饱和了,资源耗尽,直到不可用,最终导致这个分布式系统都不可用。有以下解决办法:
- 服务降级:超时、资源不足时降级,配合降级接口返回托底数据
- 服务熔断:当失败率达到阀值自动触发降级,然后尝试恢复
- 服务隔离:为每一个依赖服务创建一个独立的线程池,这样就算某个依赖服务出现延迟过高的情况,也只是对该依赖服务的调用产生影响(超时后直接返回;线程池到达maxSize后,进行熔断), 而不会拖慢其他的依赖服务(独立线程池与Tomcat的线程池不一样)。
- 服务监控:在服务发生调用时,会将一些指标(每秒请求数、成功请求数等)指标记录下来。
声明式服务调用
Feign
简化微服务之间的调用
网关
第一代是zuul,第二代是gateway
作用是拦截请求做路由转发、权限校验、限流控制等功能。
这篇关于spring cloud各个组件的主要功能(面试用)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)