1

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

  1. 使用SequenceNumberForOrderingputRecord()发送的方法。以此实现有序序列,但吞吐量非常低。
  2. 使用putRecords方法发送但不成功。
  3. 使用 KCL + Amazon 的 API 消费者。
4

1 回答 1

1

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

从这里引用:

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

于 2017-08-03T21:32:36.410 回答