我正在尝试使用亚马逊的Kinesis按顺序发送1000条消息,但是kinesis消费者收到的消息不是按顺序发送的。 我尝试过的事情:
putRecord()
方法与 SequenceNumberForOrdering 一起发送。
用此实现了有序序列,但吞吐量非常低。putRecords
方法发送但未成功。 答案 0 :(得分:0)
Kinesis在分片中维护序列,而不是在流中的所有分片中维护序列。我猜你在你的流中有超过1个分片,因此不按顺序观察读取记录。 (您也可以通过在流中仅使用1个分片重复#2来快速验证这一点。)
引自here:
请注意,记录序列号(RSN)不会在流中全局跟踪,而是仅按每个分片进行跟踪。