1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 当您改变碎片的数量时,可能会使用update-shard-count API,Kinesis会负责合并和拆分单个碎片以达到您所需的碎片数。Kinesis中的记录是不可变的,除了在流程老化方面,需要能够按顺序读取。因此,您最终会得到一系列碎片。父碎片包含在给定哈希键范围内的所有记录,然后是两个子碎片,它们拆分该范围并继续进行新的记录。当创建这些子碎片时,父碎片不会消失,记录仍保留在该父碎片中,而子碎片开始接收新记录。当合并两个碎片时,这也是反向工作的。
当您进行describeStream调用时,shards列表中的每个碎片都将列出一个ParentShardId(如果有)。这使您可以构建一个族谱的映射,以在正确位置开始读取。如果您使用KCL或Lambda消费者,可以为您降低一些操作的复杂性。
