#apigee #quota
#apigee #квота
Вопрос:
Я настраиваю квоту следующим образом:
<Quota async="false" continueOnError="false" enabled="true" name="Quota-Rate-Limit" type="calendar">
<Identifier ref="verifyapikey.Verify-Api-Key.client_id"></Identifier>
<Allow count="2000" countRef="apiproduct.developer.quota.limit"/>
<StartTime>2014-07-01 12:00:00</StartTime>
<Interval ref="verifyapikey.Verify-Api-Key.apiproduct.developer.quota.interval">1</Interval>
<TimeUnit ref="verifyapikey.Verify-Api-Key.apiproduct.developer.quota.timeunit">hour</TimeUnit>
<Distributed>true</Distributed>
<Synchronous>false</Synchronous>
<AsynchronousConfiguration>
<SyncIntervalInSeconds>20</SyncIntervalInSeconds>
<SyncMessageCount>5</SyncMessageCount>
</AsynchronousConfiguration>
</Quota>
Я думаю, что я доволен большей частью этого, но, похоже, я не могу найти никакой информации о том, что делает SyncMessageCount
значение. Все, что я смог найти, это то, что я получу ошибку InvalidSynchronizeMessageCountForAsyncConfiguration, если она равна <= 0.
Ответ №1:
Для настройки асинхронной конфигурации следует использовать либо <SyncIntervalInSeconds>
либо <SyncMessageCount>
, а не оба варианта. При использовании <SyncMessageCount>5</SyncMessageCount>
это означает, что количество квот во всех обработчиках сообщений Apigee будет синхронизироваться каждые 5 запросов. Обычно я использую интервал времени, увеличивая его выше значения по умолчанию в 10 секунд для повышения производительности. Это также зависит от того, насколько точно вы хотите обеспечить соблюдение квоты.