Apigee: Что означает SyncMessageCount?

#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 секунд для повышения производительности. Это также зависит от того, насколько точно вы хотите обеспечить соблюдение квоты.