首页 > 其他分享 >限流

限流

时间:2022-08-23 19:00:08浏览次数:51  
标签:阈值 Hystrix 流量 限流 Sentinel 匀速

限流概念

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

限流方法

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

限流选型

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

Hystrix and Sentinel技术选型分析

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

标签:阈值,Hystrix,流量,限流,Sentinel,匀速
From: https://www.cnblogs.com/li-xiaotian/p/16616750.html

相关文章

  • .NET Core:中间件系列(三):中间件限流
    中间件微软官网定义:中间件中间件意思就是处理请求和响应的软件:1、选择是否将请求传递到管道中的下一个组件。2、可在管道中的下一个组件前后执行工作。对中间件类......
  • DBPack 限流熔断功能发布说明
    上周我们发布了v0.4.0版本,增加了限流熔断功能,现对这两个功能做如下说明。限流DBPack限流熔断功能通过filter实现。要设置限流规则,首先要定义RateLimitFilter:-......
  • Sentinel 源码分析-限流原理
    1.gitclonesenetinel源码到本地,切换到release1.8分支2.找到FlowQpsDemo.java,根据sentinel自带的案例来学习sentinel的原理3.先看main方法publicstaticvoid......