1

我试图使用Amazon的Kinesis按顺序发送1000条消息,但由kinesis消费者接收的消息不是按顺序排列的。 事情我已经尝试:使用亚马逊的Kinesis维护订单,每秒至少有1000条消息

  1. 用于putRecord()方法与SequenceNumberForOrdering发送。 已达成有序序列,但吞吐量非常低。
  2. 使用putRecords方法发送但不成功。
  3. 使用KCL +亚马逊的API消费者。

回答

0

Kinesis在碎片中维护序列,而不是跨越流中的所有碎片。我猜测你的数据流中有超过1个分片,因此观察不按顺序读取记录。从here(您也可以迅速通过信息流中的重复#2只1分片验证这一点。)

报价:

请注意,记录序列号(匹配的RSN)不流在全球范围追踪而只是每个碎片跟踪。

+0

是的,它只在碎片内维护序列。但是,如果您一次发送多条消息,则不会维持订单。由于延迟问题。 Kinesis只维护KinesisQueue中的消息顺序,但不是制作人发送它们的方式。 – superB

+0

什么是KinesisQueue? –