首页 > 对外接口能力控制如何实现?

对外接口能力控制如何实现?

要对已有的接口做能力控制,比如每秒允许被访问500次,支持分布式。

这样的功能该如何实现,现有框架中使用了Memcached做内存缓存。现在想到的是使用Memcached的cas来做每秒内访问次数的同步。想问一下有没有更方便的方法?


参考guava的RateLimiter类。


NginxHttpLimitConnModule

自己实现比较耗费资源


原子性方面,Redis atomic counter http://redis.io/commands/INCR 好用一点
http://php.net/manual/en/memcached.increment.php 或许也可以,配合EXPIRE
Redis能持久化是有意义的,特别是当你的监听周期从一秒变得更长的时候,稳定性更好。

【热门文章】
【热门文章】