【问题标题】:Too much requests on the same api同一个 api 上的请求太多
【发布时间】:2019-02-01 17:40:36
【问题描述】:

我们有一个网站,我们正在使用带有 laravel 的 dingo api,但是如果同一个 post api 上的请求太多,服务器可能会出现问题,解决方案是什么

【问题讨论】:

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


    【解决方案1】:

    不仅适用于 dingo API:

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

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

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

    【讨论】:

    • 我们的服务器有限,现在无法扩展,所以我们可以使用第三个解决方案,谢谢
    猜你喜欢
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多