Kinesis 序列号在流中唯一还是每个分片和每个分区键唯一?

问题描述 投票:0回答:1

文档在这方面存在冲突。

PutRecords 文档 说:

SequenceNumber 参数是分配给放置记录的标识符,对于流中的所有记录都是唯一的。

Kinesis术语和概念文档说:

每个数据记录都有一个序列号,该序列号在其分片内的每个分区键都是唯一的。

这是一个宽松得多的条件。

以下哪一个是正确的?

amazon-web-services amazon-kinesis
1个回答
0
投票

Kinesis 流中的 SequenceNumber 仅保证在每个分片内是唯一的(分区键决定分片)。

可以在以下 awslabs GitHub 问题上找到此内容的另一个参考:https://github.com/awslabs/amazon-kinesis-client/issues/643

但是,如果使用相同分区键的两个客户端的哈希值不同,导致记录进入不同的分片,则它们有可能获得相同的序列号。但在这种情况下,记录将属于不同的分片。

© www.soinside.com 2019 - 2024. All rights reserved.