客户通过IBM API突破API速率限制

时间:2018-10-18 19:17:32

标签: elasticsearch apiconnect

我们有一个使用IBM API connect作为代理的服务。我们为我们的应用程序定义了每秒最多100个请求的阈值。跨越这些应用程序的应用程序将显示错误429。

除此之外,我们每天需要查找以下信息:

  • 在单个给定的分钟内单个应用程序的最大请求数的前5个实例

  • 在单个小时内,单个应用程序中请求数量最多的前5个实例

API Connect已与外部弹性搜索集成在一起。

我们正在尝试基于rateLimit或计数汇总的查询,但结果似乎不正确。非常感谢您对此查询的任何帮助。

更新:

如下所示,获取最接近结果的查询是:

"aggs": {
    "2": {
      "date_histogram": {
        "field": "datetime",
        "interval": "1h",
        "min_doc_count": 1
      },
      "aggs": {
        "3": {
          "terms": {
            "field": "app_name.keyword",
            "size": 5,
            "order": {
              "_count": "desc"
            }
          }
        }
      }
    }
  }

但是主要问题是:

铲斗始终设置在确切的时间。说,上午10点至上午11点。我们如何找到前5个实例,例如

  • App1:在上午10:10-上午11:10之间的1小时时间段内点击30k
  • App2:在9:20 am-10:20 am的1小时时间段内点击20次

不限于直方图桶...

0 个答案:

没有答案