SpringCloud的个人理解易懂

SpringCloud 微服务五大组件 注册中心Euerka 负载均衡Ribbon 网关Gawaty 远程调用Fegin 熔断器

euerka是起到注册和监控每个微服务的作用;
服务注册并由euerka发送心跳监听,而且它还有自我保护机制,当它发现在一定的时间内有达到一个阈值就会认为是客户端和服务端之间的网络出现异常,就不会抛弃没有响应的服务,等待网络正常;
常见的注册中心有zookeeper,
它跟zookeeper的区别是
在分布式里面有CAP定理,但是一致性和可用性是没办法同时进行的,zookeeper保证的是CP,没有保证可用性,是因为当主节点发生异常,整个zookeeper都需要进行主节点选举,这会造成当前注册中心不可用,而euerka保证了AP,当某个节点出现问题,不会对其他节点造成异常,数据不能保证强一致性可以保证弱一致性;

负载均衡Ribbon通过restTemplate调用注册中心的服务,会自动选择进行负载均衡,但为了方便将它封装到了Fegin, fegin通过接口调用,实现了服务之间的通信;

Gawaty 网关,是替代zuu的,网关底层一连串的过滤器,实现了拦截和路由的功能;当我们要统一对请求进行处理就在网关实现;我们自己编写过滤器只需要实现GlobalFilter 和Ordered 可以编写多个过滤器;

熔断器: 熔断器是一种保护机制,熔断器预防雪崩;
通常对付雪崩就是线程隔离和服务熔断;
线程隔离 :熔断器会为每个服务分配一个线程池,当线程池已满或者是服务超时达到一定的阈值,就会进行服务降级;
服务降级就是因为某些原因线程得不到结果造成阻塞,而服务降级可以及时的返回一些错误信息,避免阻塞而出现其他问题,
怎样进行服务降级?
就是在方法上使用注解@HystrixCommand指定降级处理的方法名,或者也可以在类名上统一指定降级的方法@DefaultProperties 当触发服务降级就会调用写好的降级处理的方法返回一个值让线程不会进行长时间的等待;
熔断机制:服务熔断机制可以实现弹性容错,
原理:有三种状态: 熔断关闭 熔断开启 熔断半开状态 多个有请求都正常熔断器是关闭状态, 当出现请求失败比例达到阈值如50% 且请求不低于20个,就会开启熔断器,所有请求降级, 开启后进入休眠时间默认5s 然后进入半开启状态,放行一部分请求,如果放行的请求正常了就关闭熔断器,还是出现异常就再开启再休眠再重试;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值