好了兩件事情......
1)您的配額設置爲<分佈式> false < /分佈式>。
默認情況下,您的Apigee實例在兩個單獨的消息處理器(執行繁重任務的服務器)上運行。這意味着每個MP將會計數並且您的配額有效值爲6,您實際上有6 * 2個服務器= 12.
2)您的配額在第二個示例中是分佈式但異步的。 如果您未將<分佈式>和<同步>設置爲false,Apigee將通過簽入中央數據服務器來共享配額計數。總會有一些延遲,但您已設置AsynchronousConfiguration以便每20秒鐘或每5封郵件檢入一次中央服務器,因此您可以在每個MP處理器上檢查其他服務器之前計數爲5。
請記住,在像Apigee這樣的分佈式處理模型中,您永遠不會得到絕對精確的數字,因爲即使分佈式設置爲true,並將異步設置爲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變量參考,瞭解每個流程中可用的變量。
您可以將您的配額政策作爲代碼來使用嗎?它在這裏沒有正確顯示,所以很難說出你正在做什麼。 –
<配額異步= 「假」 continueOnError = 「假」 啓用= 「真」 名稱= 「配額-1」 型= 「日曆」>配額1 DisplayName的> <允許計數=「6 「countRef =」 request.header.allowed_quota 「/> <間隔REF =」 request.header.quota_count 「> 1 假分佈式> 假同步> –
user3636769