我创建了一个以下配额,每小时可以使用API 6次。这是验证API密钥身份验证类型。
网址为http://damuorgn-test.apigee.net/weatherforecastforlongandlat?apikey=dJAXoH8y6GfVNJSjlDhpVIB4XCVyJZ1R
但是配额例外仅在第8次之后发生(实际上应该是第7次)。此外,当我尝试更改配额限制并重新部署API代理时,我仍然会在第一次看到配额异常。请告知。
我正在使用云计算的免费组织。
配额1 1 假 假 小时 2014-6-11 19:00:00 20 五
答案 0 :(得分:0)
好的两件事......
1)您的配额设置为< Distributed> false< / Distributed>。
默认情况下,您的Apigee实例在两个单独的消息处理器(执行繁重的服务器)上运行。这意味着每个MP都会计数,并且配额为6,您实际上有6 * 2个服务器= 12。
2)您的配额是分布式的,但在第二个示例中是异步的。 如果您未设置< Distributed>和<同步>如果错误,Apigee将通过检入中央数据服务器来共享配额计数。这将始终存在一些延迟,但您已将AsynchronousConfiguration设置为每隔20秒或每5条消息与中央服务器一起检入,因此您可以在使用其他服务器登记之前在每个MP处理器上计数最多5个。
请记住,在像Apigee这样的分布式处理模型中,您永远不会得到绝对精确的数字,因为即使将Distributed设置为true并将Asynchronous设置为false,服务器也会相互交谈时会出现一些延迟。
此外,您可能想要删除request.header.quota_count和其他request.header变量 - 如果我将数字(例如100000)作为标题传递
quota_count: 100000
Apigee将使用100000而不是您的值1(它使用引用的变量并仅在引用为NULL时回滚到默认值)。
而且......你可能想要添加< Idnetifier ref =“client_ip”>或者其他方面,配额对所有用户都是全局的。有关每个流程中可用的变量,请参阅http://apigee.com/docs/api-services/api/variables-reference处的Apigee变量参考。