在AWS的Kinesis流,这是什么this limit恰恰意味着:GetShardIterator每个开放分片每个帐户每秒5笔交易的限额是什么意思?
GetShardIterator
每秒每开碎片5个交易每个账户的限制。
特别是,什么是“开放碎片”?具有尚未过期的分片迭代器的分片?这是否鼓励使用开放式迭代器,并且不鼓励同时打开同一个碎片的太多迭代器?
或者这是否意味着最多可以将5个GetRecords
事务发送到每秒相同的分片迭代器?
在AWS的Kinesis流,这是什么this limit恰恰意味着:GetShardIterator每个开放分片每个帐户每秒5笔交易的限额是什么意思?
GetShardIterator
每秒每开碎片5个交易每个账户的限制。
特别是,什么是“开放碎片”?具有尚未过期的分片迭代器的分片?这是否鼓励使用开放式迭代器,并且不鼓励同时打开同一个碎片的太多迭代器?
或者这是否意味着最多可以将5个GetRecords
事务发送到每秒相同的分片迭代器?
分片可以解释为一个虚拟队列,它将数据保存在蒸汽中。流中可能有多个分片,当1条记录被推送到流(通过PutRecord
API调用)时,它将被放置在基于该记录的分区键的分片上。
打开的分片是可以接受新记录的分片。如果合并2个碎片,则它们将关闭。同样,当你分裂一个分片时,它就会关闭。合并/拆分的示例说明如下:How to decide total number of partition keys in AWS kinesis stream?
碎片迭代器有点不同,它是消费者应用程序中碎片的轮询速率。大多数情况下,应用程序不会打扰分片迭代器的工作方式(KCL:amazon-kinesis-client将在内部处理它)。 “limit of 5 transactions per second per account per open shard
”表示轮询到分片的间隔是有限的,这在这里解释:Kinesis max shard reads/sec and multiple consumers