我只想制定一个API请求率,限制每个帐户计划,所以假设我们有用户,每个用户都有一个计划,该计划限制了他们每天可以发出多少API请求。
因此,现在,我如何在环回3.x中制定API限制策略。
谢谢
发布于 2017-10-10 04:39:47
如果您计划在IBM主机上使用Loopback,您可以使用他们的API连接服务,其中包括基于API级节流的基于客户计划的策略、监视、API计费和许多其他API管理功能。
StrongLoop API微网关由API使用,但现在是开源的(2017年4月)。
因为Loopback只是Express之上的一个层,所以您也可以使用一个Express lib。
对于单个独立回收站服务器的速率限制,可以使用以下一个Express库:
如果您计划在一个回收站服务器集群上使用此功能,则需要将API调用计数存储为每个用户或用户会话的共享服务器状态的一部分。这方面选择的武器是Redis,因为它在内存数据存储中具有很高的性能,可以进行缩放。支持Redis的限制速率的Express库包括:
最后,您还可以在反向代理上实现速率限制。请参阅Nginx速率限制
发布于 2017-01-22 14:51:50
发布于 2017-01-22 14:21:48
这样的策略只能使用数据库(如redis/memcached )来制定。在我的项目中,我依赖基于Redis的红背。它有一个内置的RateLimit助手(除其他外),它负责一些竞赛和原子事务。
*如果您没有数据库,您可以将它存储在内存中(在散列或数组中),并使用间隔来刷新它,但是我会使用redback :)
https://stackoverflow.com/questions/41791927
复制相似问题