Rust 限流算法crate调研
简介:
本文介绍几个Rust中实现了限流算法的crate。
背景:
最近工作需要实现限流算法。所以调研了一些限流算法。
最终认为令牌桶算法比较适合我们的业务场景。想着rust应该有现成的库可以复用,所以简单看了下。
几个可选的crate
1、leaky_bucket - Rust
基于tokio 异步的,实现了令牌桶算法,通过acquire接口来获取令牌。获取不到的时候会阻塞当前协程。
use leaky_bucket::RateLimiter;let limiter = RateLimiter::builder().initial(10).build();limiter.acquire(10).await;
2、ratelimit_meter - Rust
这个crate实现了GCRA 算法和漏桶算法
3、leaky_bucket_lite - Rust
和leaky_bucket差不多。不过更轻量级。特点是获取令牌的时候才会填桶、是惰性的。支持async和sync以及非线程安全的sync。
4、ratelimit - Rust
下载量最多的一个库。是多线程的。获取不到令牌会阻塞当前线程。
5、ratelimit_rs - Rust
很轻量级的一个库,不过并不是线程安全的,如果需要在多线程间使用,需要自己做好线程安全。这个库目前下载量还很小。
参考:
时间窗口、滑动窗口、漏桶、令牌桶
分布式服务限流实战,已经为你排好坑了_技术管理_dbaplus社群_InfoQ精选文章
分布式限流器
如何设计一个分布式限流器(distributed rate limiter) | Honly's Blog
分布式限流 - SegmentFault 思否
dubbo 限流策略
Dubbo之限流分析 - 掘金
dubbo/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/filter at be7dc7f397ce66b2240bc2534128e6ddddda9688 · apache/dubbo · GitHub
nginx限流
Nginx 的两种限流方式 - 开发者头条
Rust 限流算法crate调研相关推荐
- 接口限流算法:漏桶算法令牌桶算法
工作中对外提供的API 接口设计都要考虑限流,如果不考虑限流,会成系统的连锁反应,轻者响应缓慢,重者系统宕机,整个业务线崩溃,如何应对这种情况呢,我们可以对请求进行引流或者直接拒绝等操作,保持系统的可 ...
- 搞懂限流算法这一篇就够了
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 TL;DR(too long don't read) 限流算法:计 ...
- 搞懂限流算法这一篇就够了 No.154
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 TL;DR(too long don't read) 限流算法:计数器.滑动窗口.漏桶.令牌桶 ...
- 亿级流量治理系列:常用的限流算法有哪些?
前言 上篇文章<为什么大公司都要做流量治理?>跟大家聊了下做流量治理的真正目的是什么.如果你要开发一个流量治理的平台或者一个限流的框架,那么必不可少的就是要选择一种合适的限流算法.本篇文章 ...
- 简单介绍4种限流算法!(固定窗口计数器算法、滑动窗口计数器算法、漏桶算法、令牌桶算法)...
作者:架构小菜 链接:https://www.jianshu.com/p/7987bf427b5b 简单介绍 4 种非常好理解并且容易实现的限流算法! 一.固定窗口计数器算法 规定我们单位时间处理的请 ...
- 面试必备:4种经典限流算法讲解
最近,我们的业务系统引入了Guava的RateLimiter限流组件,它是基于令牌桶算法实现的,而令牌桶是非常经典的限流算法.本文将跟大家一起学习几种经典的限流算法. 公众号:捡田螺的小男孩 限流是什 ...
- 限流算法之漏桶算法、令牌桶算法
限流 每个API接口都是有访问上限的,当访问频率或者并发量超过其承受范围时候,我们就必须考虑限流来保证接口的可用性或者降级可用性.即接口也需要安装上保险丝,以防止非预期的请求对系统压力过大而引起的系统 ...
- Java 实现滑动时间窗口限流算法,你见过吗?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | dijia478 来源 | https://w ...
- 接口限流算法:漏桶算法amp;令牌桶算法
转载自 接口限流算法:漏桶算法&令牌桶算法 背景 每一个对外提供的API接口都是需要做流量控制的,不然会导致系统直接崩溃.很简单的例子,和保险丝的原理一样,如果用电符合超载就会烧断保险丝断掉电 ...
- 滑动窗口限流 java_Spring Boot 的接口限流算法优缺点深度分析
点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 上一篇:这300G的Java资料是我师傅当年给我的,免费分享给大家(已修复) 下一篇:昨天分享资料不小心把百度网盘深处 ...
最新文章
- 基于android的条码识别技术,基于Android手机的条码识别系统研究
- Linux下 /dev/null 21 相关知识说明
- 数据结构 - 队列(图解+源码)
- brainfuck 在线_酒店在线声誉持久战 重视社媒舆论 保持品牌一致性
- mysql在可视化软件navicat中如何解决中文乱码问题
- Python name ‘basestring‘ is not defined
- 成交量与股价关系的深度剖析 (一)
- browserCaps与浏览器功能设置
- IOS 学习笔记(2) 视图UINavigationController
- php存sqlite图片,SQLite数据库如何存储图片/语音
- 硬盘分区变为RAW文件系统后的解决办法
- php悲观锁怎么做,mysql悲观锁怎么实现?
- win10c语言乱码修复方法,“字体库异常、电脑乱码的解决方案”的解决方案
- 上海市建筑工程资料管理软件
- linux系统编程实训总结,linux实训总结与体会
- NLP聊天机器人笔记
- scala面向对象基础---类继承和特质
- Excel的查找和引用函数:VLOOKUP、OFFSET、MATCH、INDEX、INDIRECT
- Web——软件开发实践
- c++ 连接mysql数据库