当前位置: 首页 > news >正文

大白话讲微服务的灾难性雪崩效应

讲在前面,为什么微服务需要有熔断等策略呢?今天我们用大白话来讲讲微服务的灾难性雪崩效应,熔断策略就是解决雪崩效应的有效解决方案。

什么是灾难性雪崩效应?

假设我们有两个访问量比较大的服务A和B,这两个服务分别依赖C 和D,C和D服务都依赖E服务。

A和B不断的调用C,D处理客户请求和返回需要的数据。当E服务不能 供服务的时候,C和D的 超时重试机制会被执行。

由于新的调用不断的产生,会导致C和D对E服务的调用大量的积 压,产生大量的调用等待和重试调用,慢慢会耗尽C和D的资源比如 内存或CPU,然后也down掉。

A和B服务会重复C和D的操作,资源耗尽,然后down掉,最终整个 服务都不可访问。

结论: 服务与服务之间的依赖性,故障会传播,造成连锁反应,会对 整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪 崩”效应。

造成雪崩原因是什么

1. 服务提供者不可用(硬件故障、程序bug、缓存击穿、用户大量请求)

2. 重试加大流量(用户重试,代码逻辑重试)

3. 服务调用者不可用(同步等待造成的资源耗尽)

注意: 在高并发访问下,系统所依赖的服务的稳定性对系统的影响非 常大,依赖有很多不可控的因素,比如网络连接变慢,资源突 然繁忙,暂时不可用,服务脱机等。我们要构建稳定、可靠的 分布式系统,就必须要有一套容错方法。


http://www.mrgr.cn/news/6454.html

相关文章:

  • 二叉树(三)
  • 【MeterSphere】占用磁盘空间过大问题处理方式
  • 智慧公厕系统在旅游景区的应用前景
  • 【Linux】Linux项目自动化构建工具-make/Makefile
  • Unity+Addressable
  • 全志 HDMI 显示亮度低
  • MATLAB-基于Transformer模型的NASA锂电池剩余寿命预测
  • Oracle开始严查Java许可!
  • 河道非法采砂智能检测系统:采砂船识别监测系统
  • 自己做的一个用于生成DICOM文件的服务器
  • TIM输出比较之PWM驱动直流电机应用案例
  • STM32寄存器操作、模板构建
  • 基于Python的机器学习系列(7):多元逻辑回归
  • 使用 Vue 官方脚手架初始化 Vue3 项目
  • JDK各LTS版本下载,包含JDK8、11、17、21版本(文章末尾附带直接下载链接)
  • Oracle Index Partition索引分区的管理
  • Java-CompletableFuture结合批处理、自定义线程池
  • swagger使用
  • JVM 内存区域
  • Qt第十八章 XML和Json格式解析