微服务中遇到雪崩一般怎么处理

前提:我们介绍三种技术⼿段应对微服务中的雪崩效应,这三种⼿段都是从系统可
⽤性、可靠性⻆度出发,尽量防⽌系统整体缓慢甚⾄瘫痪。

服务熔断

熔断机制是应对雪崩效应的⼀种微服务链路保护机制。我们在各种场景下都会接触
到熔断这两个字。⾼压电路中,如果某个地⽅的电压过⾼,熔断器就会熔断,对电
路进⾏保护。股票交易中,如果股票指数过⾼,也会采⽤熔断机制,暂停股票的交
易。同样,在微服务架构中,熔断机制也是起着类似的作⽤。当扇出链路的某个微
服务不可⽤或者响应时间太⻓时,熔断该节点微服务的调⽤,进⾏服务的降级,快
速返回错误的响应信息。当检测到该节点微服务调⽤响应正常后,恢复调⽤链路。
注意:
1)服务熔断重点在“断”,切断对下游服务的调⽤
2)服务熔断和服务降级往往是⼀起使⽤的,Hystrix就是这样。

服务降级

通俗讲就是整体资源不够⽤了,先将⼀些不关紧的服务停掉(调⽤我的时候,给你
返回⼀个预留的值,也叫做兜底数据),待渡过难关⾼峰过去,再把那些服务打
开。
服务降级⼀般是从整体考虑,就是当某个服务熔断之后,服务器将不再被调⽤,此
刻客户端可以⾃⼰准备⼀个本地的fallback回调,返回⼀个缺省值,这样做,虽然服
务⽔平下降,但好⽍可⽤,⽐直接挂掉要强。

服务限流

服务降级是当服务出问题或者影响到核⼼流程的性能时,暂时将服务屏蔽掉,待⾼
峰或者问题解决后再打开;但是有些场景并不能⽤服务降级来解决,⽐如秒杀业务
这样的核⼼功能,这个时候可以结合服务限流来限制这些场景的并发/请求量
限流措施也很多,⽐如

  • 限制总并发数(⽐如数据库连接池、线程池)
  • 限制远程接⼝调⽤速率、限制MQ的消费速率等
  • 限制瞬时并发数(如nginx限制瞬时并发连接数)
  • 限制时间窗⼝内的平均速率(如Guava的RateLimiter、nginx的limit_req模块,
    限制每秒的平均速率)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值