devuplabs.cloud
Architecture note3 lab guides3 lab guides

Kinesis · Data Streams

Shards, iterator age, and the consumer that never catches up.

Outcome

    • Create a Kinesis stream in ON_DEMAND mode and explain the shard capacity model
    • Put records with partition keys and explain what partition key controls
    • Read records using the shard iterator model: TRIM_HORIZON, LATEST, AT_SEQUENCE_NUMBER
    • Explain why get-records does not remove records from the stream
    • Replay the full stream from a second independent consumer
    • Handle ExpiredIteratorException and explain when it occurs
    • Explain ordering guarantees within a shard vs across shards
    • Choose a partition key for a given ordering requirement
    • Extend and reduce stream retention and explain the data loss risk
    • Split a shard using update-shard-count and identify parent/child shard relationship
    • Explain what a hot shard is and how to detect and fix it
    • Explain what Lambda ESM does: polling, checkpointing, retry behavior
    • Configure BisectBatchOnFunctionError and explain what it prevents
    • Set MaximumRetryAttempts and attach a DLQ on an ESM
    • Trace a poison pill from ingestion through bisect retries to DLQ
    • Explain TRIM_HORIZON vs LATEST starting position and when to use each
    • Explain the throughput difference between standard consumers and EFO
    • Register an EFO consumer and use subscribe-to-shard
    • Explain the 20-consumer limit and when EFO is worth the cost
    • Compare polling latency (standard) vs push latency (EFO)
    • Explain what KCL's DynamoDB lease table contains and why it prevents double-processing
    • Write a processor with initialize, process_records, shard_ended, and lease_lost callbacks
    • Checkpoint at the correct granularity and explain the checkpoint/at-least-once tradeoff
    • Observe lease rebalancing when a second worker joins
    • Trace crash recovery from checkpoint through DynamoDB to resumed processing
    • Name the five key Kinesis CloudWatch metrics and what each indicates
    • Explain why IteratorAgeMilliseconds is more actionable than record count
    • Create iterator age, write throttle, and read throttle alarms with correct thresholds
    • Use the consumer-stopped vs consumer-slow diagnostic table to identify the right fix
    • Trigger the iterator age alarm by stopping the consumer and verify it clears on restart

Unlock all 24 AWS services & 291+ lab sessions (~180 hours)

Pricing