2017-08-08 71 views
1

在AWS的Kinesis流,這是什麼this limit恰恰意味着:GetShardIterator每個開放分片每個帳戶每秒5筆交易的限額是什麼意思?

GetShardIterator每秒每開碎片5個交易每個賬戶的限制。

特別是,什麼是「開放碎片」?具有尚未過期的分片迭代器的分片?這是否鼓勵使用開放式迭代器,並且不鼓勵同時打開同一個碎片的太多迭代器?

或者這是否意味着最多可以將5個GetRecords事務發送到每秒相同的分片迭代器?

回答

1
  1. 分片可以解釋爲一個虛擬隊列,它將數據保存在蒸汽中。流中可能有多個分片,當1條記錄被推送到流(通過PutRecord API調用)時,它將被放置在基於該記錄的分區鍵的分片上。

  2. 打開的分片是可以接受新記錄的分片。如果合併2個碎片,則它們將關閉。同樣,當你分裂一個分片時,它就會關閉。合併/拆分的示例說明如下:How to decide total number of partition keys in AWS kinesis stream?

  3. 碎片迭代器有點不同,它是消費者應用程序中碎片的輪詢速率。大多數情況下,應用程序不會打擾分片迭代器的工作方式(KCL:amazon-kinesis-client將在內部處理它)。 「limit of 5 transactions per second per account per open shard」表示輪詢到分片的間隔是有限的,這在這裏解釋:Kinesis max shard reads/sec and multiple consumers