V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
sciel1211
V2EX  ›  Go 编程语言

Go IP 限制 HTTP 访问频率,大家都是如何做的呢?

  •  
  •   sciel1211 · 2021-07-14 15:35:15 +08:00 · 1895 次点击
    这是一个创建于 1228 天前的主题,其中的信息可能已经有所发展或是发生改变。
    就想实现这样的功能,限制一个 ip 的访问频率,
    如果 2 秒内访问超过 20 次,
    10 秒内访问超过 100 次,就锁定 2 小时。
    大家是一般怎么做的呢?
    sciel1211
        1
    sciel1211  
    OP
       2021-07-14 15:48:06 +08:00
    看有没有更简明的方式😄,当然这些参数都是可配置的。
    sky101001
        2
    sky101001  
       2021-07-14 16:50:35 +08:00   ❤️ 1
    这种事交给 nginx 负责吧,我觉得 go 负责好业务代码就够了
    xiaoz
        3
    xiaoz  
       2021-07-14 19:01:24 +08:00 via Android
    nginx 自带的 limit 就可以实现访问频率限制,你业务逻辑实现的话可以考虑 redis,设置 ip 过期时间
    eudore
        4
    eudore  
       2021-07-15 08:39:31 +08:00
    x/time/rate 限制后执行自定义行为,例如 3 楼的 redis 记录 ip 。
    Divinook
        5
    Divinook  
       2021-07-15 12:40:41 +08:00 via Android
    搜索 令牌桶 限流 关键字
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1919 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:17 · PVG 00:17 · LAX 08:17 · JFK 11:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.