V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tqz
V2EX  ›  程序员

Python 实现的限流器有哪些

  •  1
     
  •   tqz · 2021-07-05 11:59:42 +08:00 · 2144 次点击
    这是一个创建于 1238 天前的主题,其中的信息可能已经有所发展或是发生改变。

    上网找了一圈开源的令牌桶或者漏桶限流器的 Python 实现,但是貌似都是小作坊,好像没找到公司或者组织开源的实现。请问各位大佬们有知道哪些好用的限流器包吗?自己写其实也行,但还是想看看大家都在用的包是怎么实现的,若自己实现的话也好有个较好的参考。

    环境:python2.7

    5 条回复    2021-07-06 10:21:27 +08:00
    aladdindingding
        1
    aladdindingding  
       2021-07-05 13:36:39 +08:00
    redis 有个 rust 写的插件
    abersheeran
        2
    abersheeran  
       2021-07-05 13:57:42 +08:00
    如果你用 redis,那么最好用 lua 实现……不为别的,就是图个快。我有一个 Python 调 lua 的限流器实现。

    https://github.com/abersheeran/asgi-ratelimit/tree/master/ratelimit/backends
    so1n
        3
    so1n  
       2021-07-05 23:40:34 +08:00 via Android
    啥都信不过就自己实现一个,或者使用 redis 的 cell 模块
    SmiteChow
        4
    SmiteChow  
       2021-07-06 10:16:18 +08:00
    使用单进程的异步 IO (事件驱动)自己实现即可,并不复杂
    SmiteChow
        5
    SmiteChow  
       2021-07-06 10:21:27 +08:00
    就像看门狗脚本一样简单,自己写一个死循环 shell,填入检测拉起睡眠三个步骤就搞定了,根本没必要引入第三方的 supervisor,徒增系统部署复杂度而已。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2644 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:50 · PVG 13:50 · LAX 21:50 · JFK 00:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.