同一API上的请求过多

时间:2018-08-27 08:01:10

标签: laravel-5 laravel-5.3 laravel-5.4 dingo-api

我们有一个网站,并且我们在laravel中使用dingo api,但是如果在同一后api上的请求太多,则服务器可能会完成问题,这是一个问题

1 个答案:

答案 0 :(得分:0)

不仅适用于dingo API:

  1. 拒绝无意义的请求。 根据业务参数和URL等将签名参数添加到API请求中,以消除来自机器人的无效请求。您还可以添加时间戳参数以防止重放攻击。对于服务器端,当您收到请求时,首先应检查签名是否正确。如果不正确,则可以直接拒绝。

  2. 使您的服务具有可扩展性。 如果所有请求都是预期的合法请求,请尝试在更多服务器上部署服务,并通过负载平衡(请参阅ELB)使服务水平扩展。

  3. 频率控制(如果不可扩展)。 如果受服务器资源的限制,则需要根据实际情况进行处理。一种常见的方法是添加频率控制,即在网关或Web服务器端添加一些限制。您需要知道可用资源可以接受的最大流量(QPS),如果请求数量超过单位时间的最大值,请拒绝超出的请求,以确保服务器不会失败并在能力范围内进行更多处理