У меня довольно стандартная платформа потоковой передачи данных, которая отправляет данные на Kinesis steam
через CloudWatch rule
.
Я хочу увеличить пропускную способность своего потока, но в документации по переназначению говорится, что " вам нужно дождаться, пока поток снова станет активным ."
Документы на UpdateShardCount
, однако, читают, что " вы можете продолжать читать и записывать данные в свой поток, пока его состояние ОБНОВЛЯЕТСЯ ."
Эта спецификация заставляет меня думать, используя UpdateShardCount
, вы могли бы изящно увеличить емкость, не рискуя потерять данные из-за сбоя CloudWatch до PutRecord
в потоке из-за простоя.
Я также заметил, однако, что CloudWatch Event
документы имеют очень смутное объяснение повторных попыток / сбоев , не предлагая много возможностей для наглядности, когда это происходит:
Если цель правила CloudWatch Events ограничена на длительный срок
Время, события CloudWatch могут не повторить доставку. Например, если
цель не подготовлена для обработки входящего трафика событий и
целевой сервис регулирует запросы, которые делает CloudWatch Events
от вашего имени, CloudWatch Events не может повторить доставку.
Это заставляет меня задуматься:
- Правильно ли я использую
UpdateShardCount
для изящных обновлений по сравнению с необходимостью ожидания возобновления активности потока?
- Если бы по какой-то причине это было неприлично, как бы я вообще узнал, что у меня потеря данных?