SpringCloud常用知识点

本文介绍了SpringCloud的主要组件,包括Eureka服务注册中心,详细阐述了Eureka的原理及失效剔除、自我保护机制;Ribbon作为负载均衡器,实现服务间的智能路由;Hystrix提供服务容错管理,实现线程隔离和服务降级;Gateway作为微服务的统一入口,实现路由和过滤功能;Config则是分布式配置中心,支持从本地或远程仓库获取配置。
摘要由CSDN通过智能技术生成

1.简介

SpringCloud将现在非常流行的一些技术整合到一起,实现了配置管理、服务发现、智能路由、负载均衡、熔断器、控制总线、集群状态等功能 。

2.Eureka注册中心

2.1原理图

在这里插入图片描述
Eureka:服务注册中心
服务提供者:启动后向Eureka注册自己的信息
客户端消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发给消费者并定期更新
心跳(续约):服务提供者定期通过HTTP方式向Eureka刷新自己的状态

2.2注册中心失效剔除和自我保护

失效剔除
服务注册中心在启动时会创建一个定时任务,默认每隔一段时间(默认60s)将当前清单中超时(默认90s)没有续约的服务剔除。
自我保护
当一个服务未按时进行心跳续约时,Eureka会统计最近15分钟心跳失败的服务实例的比例是否超过了85%,若超过该比例,Eureka会把当前实例的注册信息保护起来,不予剔除。

3.负载均衡Ribbon

Ribbon是Netflix发布的负载均衡器,为Ribbon配置服务提供者地址列表后,Ribbon就可基于负载均衡算法(如轮询、随机等)自动帮助服务消费者去请求。

4.Hystrix

服务器支持的线程和并发数有限,请求一直阻塞会导致服务器资源耗尽,从而导致所有其它服务不可用。Hystrix用于隔离访问远程服务,防止出现级联失败。
线程隔离
Hystrix为每个依赖服务调用分配一个小的线程池,如果线程池已满调用将立即拒绝,默认不采用排队。
服务降级
用户的请求故障时,不会被阻塞,至少可以看到一个执行结果
服务熔断
在这里插入图片描述
Closed:关闭状态,所有请求都正常访问
Open:熔断器打开,所有请求都会被降级,Hystrix会对请求情况计数,当一定时间内失败请求百分比达到阈值,则触发熔断,熔断器完全打开。默认失败比例阈值是50%,请求次数最少不低于20次
Half Open:半开状态,不是永久的,断路器打开后会进入休眠时间(默认5s)。随后断路器会自动进入半开状态。此时会释放部分请求通过,若这些请求都是健康的,则会关闭断路器,否则继续保持打开,再次进行休眠计时

5.Gateway网关

Gateway是一系列的过滤器,通过这些过滤器可以将客户端发送请求转发(路由)到对应的微服务。Gateway是加在整个微服务最前沿的防火墙和代理器,隐藏微服务结点IP端口信息,从而加强安全防护。
在这里插入图片描述
路由:由一个ID、一个目的URL、一组断言工厂、一组Filter组成,如果路由断言为真,说明请求URL和配置路由匹配。
断言:Gateway中的语言函数输入类型是ServerWebExchange,允许开发者去定义匹配来自于HTTP Request中的任何信息。
过滤器:分为Gateway Filter和Global Filter,会对请求和响应进行修改处理。

6.Config分布式配置中心

在这里插入图片描述
支持将配置文件放在配置服务的本地,也支持放在远程git仓库(Github、码云)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值