我们想在Web API的前面使用gravitee作为API网关,但是我们需要能够提供根据特定业务指标进行过滤的计划,该计划是在所有API调用的响应中发送的
例如,假设我们的API在HTTP标头中返回被查询的数据数(就数据库唯一点而言):
> GET /api/my/data
Response:
X-Number-Of-Points: 2456 ## the number of points that were returned
Content-Type: application/json
{
"points":[...]
}
因此,从本质上讲,我想制定以下计划:
我看了Gravitee's documentation,但我不确定我们能做到这一点。
似乎他们的“ Policy”插件可能有用,但是我感觉我必须实现整个“从标头中提取nb点,将其存储在db中,然后实现一个Gravitee可以利用该插件查看该特定客户是否已用尽计划”。
也许我没有正确阅读文档,但是我发现,如果Gravitee可以执行速率限制和每月API调用次数计划,那么它应该能够收集整数指标并将其应用于计划吗?
你们在这方面有经验吗?
我并不特别喜欢Gravitee本身,但是从我对API网关前景的有限探索中,它似乎是其余部分中最成熟的(Kong,APIGee等)。如果这个特殊用例可以由另一个免费的APM更好地处理,那么我就开始进行切换。
答案 0 :(得分:0)
很抱歉在这里迟到了。
在现有的速率限制/配额策略中,您可以为呼叫提供权重(默认情况下,权重= 1)。
据您所见,我唯一看到的区别是,就我所知,权重来自于响应。
我要记住的问题是:如果网关正在调查响应以获取权重,我们应该如何(从网关)管理身份验证问题,这是否意味着计数器没有减少?