我找不到任何关于这方面的资源,因此想问是否有必要在firebase中为每个用户的可调用https云函数添加节流功能?
例如,我想限制一个用户每5秒只能调用https函数。
如果这是一件可行的事情,如何实现?
云功能中没有任何内置的按用户调节功能。你有几个自己做的选择:
- 在客户端应用程序中设置逻辑,跟踪用户呼叫他们的次数,如果过于频繁,则拒绝呼叫
这里的问题是,如果有人试图与你玩游戏,这不会100%有效,因为他们可以使用多个窗口等。
- 您可以实现一个数据库解决方案,跟踪它们的使用情况,并在函数开始时检查它们是否违反了您的速率限制
这里的问题是,您的功能的触发器仍在产生成本。
- 如果这对你来说是一个超级大的问题,我建议你考虑使用Apigee等API管理平台,在那里你可以应用利率限制等政策
这是一个成本增加的重型解决方案,因此除非必要,否则不会这样做