• 首页
  • 邻居
  • 关于
  • 归档
  • 搜索
  • 夜间模式
    ©2020-2026  我的学习笔记 Theme by OneBlog

    我的学习笔记博客

    搜索
    标签
    # 随笔 # Java # 教程 # openwrt # Mysql # SQL # 爬虫 # post # Js调优 # MAVEN
  • 首页>
  • >
  • 正文
  • dubbo了解什么是服务雪崩

    2023年04月24日 1.3 k 阅读 0 评论 878 字

    雪崩问题:

    服务雪崩指:服务提供者不可用导致服务调用者也跟着不可用,以此类推引起整个链路中的所有微服务都不可用

    释:服务提供者A因为某种原因出现故障,那么服务调用者服务B依赖于服务A的请求便无法成功调用其提供的接口,假以时日依赖于服务A的请求越来越多导致服务B的Tomcat资源耗尽,造成服务B线程阻塞,导致服务B也出现故障。那么假如服务C依赖于服务B由于服务B也出现了故障导致服务C出现故障。以此类推引起整个链路中的所有微服务都不可用。

    解决雪崩问题的常用方式:

    超时处理:设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待
    线程隔离:限定每个业务能使用的线程数,避免耗尽整个tomcat的资源,因此也叫线程隔离。
    熔断降级:由断路器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截访问该业务的一切请求。 
    流量控制:限制业务访问的QPS,避免服务因流量的突增而故障。

    超时处理:

    释:服务A依赖于服务B(故障),服务A向服务B发起请求时超过设定的超时时间,它会立即结束等待,并向返回提示信息。

    这种方式就不会一直占用服务资源,缓解了雪崩问题
    线程隔离:

    释:服务A依赖于服务B和服务C(故障),例:服务A会把Tomcat线程划分为许多的独立线程池,每个业务分配一个线程池,那么服务C故障了最多只影响服务A的部分线程。避免了服务A整个tomcat资源耗尽的情况

    熔断降级:

    释:服务A依赖于服务B(故障),它会去统计服务A访问服务B的请求,当异常的比例超过了设定值时便会立即熔断该业务,当再次有请求需要访问服务B时它会拦截该请求并快速返回失败

    流量控制:

    释:当有大量的服务涌入服务A时,使用中间件拦截这些请求,让这些请求以服务能承受的频率去释放请求

    本文著作权归作者 [ admin ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    取消回复

    发表留言
    回复

    首页邻居关于归档
    Copyright©2020-2026  All Rights Reserved.  Load:0.016 s
    京ICP备18019712号
    Theme by OneBlog V3.6.5
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。