Amazon EventBridge PutEvents регулирование

Я планирую использовать Amazon EventBridge в своем приложении. Я вижу, что события выходят за рамки определенных квот. Хотя он находится в диапазоне от 100 до нескольких тысяч, я бы не хотел терять события и активно добавлять больше автобусов, чтобы справиться с высокой скоростью событий. Из API я вижу, что PutEvents выдает500как исключение https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html

Кто-нибудь надежно использовал исключение PutEvents для обработки этого состояния и добавления шин? Я вижу естьFailedEntryCount, но в документации не указывается, почему произошел сбой. Так что я не уверен, что могу положиться. Я могу использовать другие службы (SQS, DB), но хочу использовать EventBridge в моем случае.

Если есть другой маршрут (CloudTrail PutEvents) или журналы CloudWatch, которые нужно обработать, я готов услышать.

1 ответ

Решение

API-интерфейс EventBridge PutEvents имеет мягкие ограничения и может быть увеличен для каждой учетной записи.

Насколько я понимаю, у вас есть два вопроса: один касается того, как работает дросселирование, а другой - о FailedEntryCount.

Дросселирование

Регулирование будет происходить в самой операции (т.е. когда вы вызываете PutEvents) (совет: попробуйте группировать до 10 событий за раз - это поможет с задержкой). Если вы столкнетесь с дросселированием, AWS SDK временно повторит попытку, если ваша скорость вызовов не будет существенно выше выделенных вами лимитов. Если после нескольких попыток он все еще будет регулироваться, вся операция завершится ошибкой. Если это так, вы можете с уверенностью предположить, что ваши события не были загружены.

Я бы порекомендовал отслеживать частоту дросселирования / ошибок и громкость, чтобы заранее увеличить лимит PutEvents в EventBridge. Для этого есть разные варианты, поэтому я не буду включать их здесь.

В любом случае обратитесь в службу поддержки AWS, чтобы узнать, как они могут помочь с увеличением лимитов.

FailedEntryCount

Поскольку это пакетный API, вы всегда должны проверять, не превышает ли значение FailedEntryCount > 0, и повторять попытки добавления записей, которые не удалось загрузить (если применимо). FailedEntryCount на него можно положиться, поскольку он явно сообщает вам, что записи не удалось, и вы должны проверить ответ, какие из них не удалось.

Другие вопросы по тегам