了解什么是服务雪崩

雪崩问题: 

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

释:服务提供者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时,使用中间件拦截这些请求,让这些请求以服务能承受的频率去释放请求

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值