使用亚马逊的Kinesis维护订单,每秒至少1000条消息

时间:2017-08-01 13:42:41

标签: amazon-web-services amazon-kinesis aws-sdk-nodejs amazon-kcl

我正在尝试使用亚马逊的Kinesis按顺序发送1000条消息,但是kinesis消费者收到的消息不是按顺序发送的。 我尝试过的事情:

  1. 使用putRecord()方法与 SequenceNumberForOrdering 一起发送。 用此实现了有序序列,但吞吐量非常低。
  2. 使用putRecords方法发送但未成功。
  3. 使用KCL +亚马逊的API消费者。

1 个答案:

答案 0 :(得分:0)

Kinesis在分片中维护序列,而不是在流中的所有分片中维护序列。我猜你在你的流中有超过1个分片,因此不按顺序观察读取记录。 (您也可以通过在流中仅使用1个分片重复#2来快速验证这一点。)

引自here

  

请注意,记录序列号(RSN)不会在流中全局跟踪,而是仅按每个分片进行跟踪。