Kinesis Data Streams (продюссеры, консюмеры) Flashcards
Что может быть продюссером сообщений?
Приложения, использующие SDK, KPL, Kinesis Agent
Какую API операцию вызывает продюссер в Kinesis?
PutRecord API
Producer’ы могут слать данные в Kinesis с ограничениями. Каковы эти лимиты?
1 MB/sec per shard, 1_000 records/sec per shard
Если шардов 6, то всего (overall) в Kinesis можно слать до …
до 6 MB/sec или до 6_000 records/sec
В чём отличие batching операции в Kinesis и в SQS?
Kinesis может использовать батчинг для отправки сообщений (PutRecord API). А SQS - только для консюминга.
Что такое ProvisionedThroughputExceed?
ошибка, которую мы получим, если превысим write-rate (лимит отправки сообщений).
Как справиться с ProvisionedThroughputExceed?
Есть три способа. Выровнять распределение Partition Ключей (high distribution). Использовать retry-механизм с exponential backoff’ом. Увеличить число шардов (scale shards)
Что может быть консюмером сообщений?
Приложения, использующие SDK, KCL, Lambda, Kinesis Data Firehose, Kinesis Data Analytics
Какую API операцию вызывает консюмер в Kinesis?
GetRecord API или SubscribeToShard API
В чём отличие GetRecord API и SubscribeToShard API?
При GetRecord API консюмер стягивает (poll) рекорды из Шарда. При SubscribeToShard API Шард пушит (push) рекорды в консюмер.
Какие бывают Consumer Modes?
SHARED (classic) moed и ENHANCED mode
Как устроен SHARED (classic) Consumer Mode? Что на самом деле шарится между консюмерами?
На самом деле нужно акцентировать внимание на том, что между консюмерами шарится НЕ Шард, а именно Throughput Rate. Чем больше Consumer’ов читает один шард, тем меньше у каждого из них throughput limit.
Хотя, понятное дело, речь идёт о нескольких консюмерах, которые читают (шарят друг с другом) один и тот же Шард.
Каковы лимиты SHARED (classic) Consumer Mode? Какую API операцию используют?
2 MB/sec per shard на ВСЕХ Consumer’ов. GetRecord API.
Как устроен ENHANCED Consumer Mode?
Как и в SHARED (classic) режиме, несколько консюмеров получают данные из одного шарда. Но Throughout Limit НЕ делится между консюмерами. Он персональный у каждого из них. Этот режим более дорогой и более мощный.
Каковы лимиты ENHANCED Consumer Mode? Какую API операцию используют?
2 MB/sec per shard для КАЖДОГО Consumer’а. SubscribeToShard API.