分布式系统限流熔断降级

##限流概念

先聊一下生态系统,一个生态系统的能力是有限的,比如说只能容纳多少生物,多少物质消耗,生态系统才能维持平衡。
微服务集群相当于生态系统,限流阈值是当前系统所能处理的最大能力,所以限流是为了系统稳定性。
个性化一点就是,某些接口,动态修改,实现从入口限制住流量。
常见限流:线程池,接口调用限制,网络连接限制,Semaphore。

##限流方法

1.计数器(对段时间内请求进行累加,超过阈值责拒绝。实现简单,缺点是可能造成瞬时的流量峰值,不匀速。)
2.时间滑动窗口(将段时间分为多个小窗口进行累加,超过阈值则拒绝,大概率解决了瞬时峰值问题,但解决不彻底。)
3.漏桶(限制请求速率,始终匀速,不允许任何突发流量,绝对匀速。)
4.令牌桶(始终匀速往令牌桶放入令牌,控制了最大阈值,消费从桶内取值,这时就允许突发流量了,但却不会超过阈值。)

##限流选型

Nginx+lua
Redis+lua
Gateway
Hystrix
Sentinel
Tomcat
更具体的情况点看自己的架构了。

Hystrix and Sentinel技术选型分析

Hystrix 的关注点在于以隔离和熔断为主的容错机制,超时或被熔断的调用将会快速失败,并可以提供 fallback 机制。
而Sentinel的侧重点在于:
  多样化的流量控制
  熔断降级
  系统负载保护
  实时监控和控制台

##熔断 概念

熔断,当服务在一段时间内失败此次数达到一定比例时,熔断该服务,返回默认消息(降级)。
防止服务雪崩,保证系统整体的健康,提高可靠性,可用性。

三种状态:半开,开启,关闭
开启之后会直接走降级方法,一段时间就会变为半开,放一些请求如果成功就为关闭状态,失败则继续变为开启状态。一直断时间重试。

##熔断 降级 区别

熔断是被动的,降级是主动的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值