zenzens 发表于 2023-4-27 20:02

什么叫雪崩效应?

本帖最后由 zenzens 于 2023-4-27 20:05 编辑

大家好啊!又见面了!;www

目前在学习java,技术还比较菜,希望能来这里向大佬们虚心学习,扎实技术,在计算机的道路上披荆斩棘!

以下是我从收集到的资料中学习到的知识,还有自己的一些见解和总结,与大家分享,如若有误,欢迎指出!{:1_932:}

https://static.52pojie.cn/static/image/hrline/5.gifhttps://static.52pojie.cn/static/image/hrline/5.gifhttps://static.52pojie.cn/static/image/hrline/5.gif


今天学习什么叫做雪崩效应


宏观的来讲,雪崩效应是指,在某个系统中,一小部分的变化或者干扰可能会引起连锁反应,并导致整个系统彻底崩溃或者瘫痪。


这种效应通常与复杂的动态系统有关,例如天气系统、金融市场和社交媒体网络等。


而我今天介绍的是java微服务中的雪崩效应,分析其形成的原因。

在高并发的情况下,同一个接口中的不同方法会因为某个方法接收到高并发的请求而影响到其他方法的正常访问。如果将这个问题扩展到不同微服务之间,那就会造成雪崩效应。


雪崩效应:在微服务架构中,如果一个微服务发生故障或者变慢,可能会导致大量的请求堆积在该微服务上,而且它还要去请求其他的微服务,这样就可能会发生连锁反应,导致整个系统崩溃的现象,这种现象就被称为雪崩效应。通俗来说,雪崩效应是指由于某一服务的不可用或延迟,导致依赖该服务的其他服务也受到影响,由于服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的 “雪崩效应” 。


服务熔断和降级是为了解决分布式系统中的故障容错问题而出现的。当一个服务出现异常或者负载过高时,熔断机制可以暂时停止对该服务的调用,防止故障扩散至整个系统。而降级可以在系统压力过高时,通过牺牲某些功能保证核心功能的可靠性,从而避免系统崩溃。


雪崩效应是无法完全避免的错误,我们只能够防止其在发生之后的进一步扩散,意思就是我们允许你发生错误,但是这个错误应该在我们的可控范围之内,那就要借助容错方案来解决了。

常见的容错思路
[*]超时:当一个请求在一定时间内不能得到响应时,就认为该请求已经超时。在容错设计中,可以设置请求超时时间,如果在预设时间内没有得到响应,则中断请求并返回一个错误信息,以避免长时间阻塞线程或资源浪费。


[*]限流:限流是指针对某一服务或系统,限制其处理请求的速率或者并发量,以保证系统在高负载情况下依然能够正常工作。通常采用的限流算法有令牌桶算法、漏桶算法等。


[*]熔断:熔断是指当某一服务或系统出现异常或故障时,及时将请求流量切换到备用的同类服务或系统上,或者是切断对其服务的调用,从而保证系统整体的可用性和稳定性。熔断器是实现熔断机制的一种重要工具,如Netflix Hystrix,Resilience4J,Sentinel就是一些常用的熔断器。
[*]降级:降级是指在系统压力过大时,主动停用某些服务或功能,以保证核心功能的可用性。最常见的方式是开启后备模式,比如暂时关闭一些不必要的业务流程或者页面,减少服务调用的频率等。
[*]隔离:既然雪崩效应是一个连锁反应,那我们让这个连续的过程打断,就可以在一定程度上控制雪崩。把现有的资源进行分配,每个服务都有自己的独立的资源,在调用的时候,即使某个服务十分拥堵,也不会对其他的服务造成影响。
[*]压力测试:在开发阶段或者说上线之前做足压力测试,预估系统在高并发情况下的性能,尽早发现潜在问题。


https://static.52pojie.cn/static/image/hrline/5.gifhttps://static.52pojie.cn/static/image/hrline/5.gifhttps://static.52pojie.cn/static/image/hrline/5.gif

以上就是本次知识分享的内容咯,有关雪崩的知识其实还有很多,感兴趣的小伙伴可以去深入了解,那我们下次再见!

zhengxinjun 发表于 2023-4-27 23:43

学习了,涨姿势

CXC303 发表于 2023-4-28 00:29

厉害,学习

X14 发表于 2023-4-28 01:59

这就是深入浅出啊

T0T20230313 发表于 2023-4-28 07:39

涨知识了,谢谢分享

chenjy158334287 发表于 2023-4-28 08:16

好知识,,学习了

WuYule 发表于 2023-4-28 08:27

确实像雪崩!

Mcoco 发表于 2023-4-28 08:46

还有一个问题,什么是缓存雪崩和缓存穿透,也是java面试和实践当中很容易被考察的问题

外酥内嫩 发表于 2023-4-28 08:58

让我想起了Redis的缓存雪崩

HuiG 发表于 2023-4-28 09:16

厉害,学习
页: [1] 2
查看完整版本: 什么叫雪崩效应?