1

此处发布在 github 上的DynamoDB Streams Kinesis Adapter具有此功能,注释如下:

Kinesis 模型在父分片合并的情况下提供相邻的父分片 ID。由于 DynamoDB Streams 不支持合并,因此始终返回 null。

我对此感到担忧,我将使用 7 个分片的示例来描述我的担忧,为简单起见,我们将它们命名为06

0的父级由于保留策略不再可用,1,2,3,4,5由于 DynamoDB 表上的高流量是兄弟级,它们都以0作为父级,6是当前打开的分片和是合并的结果,因为 DynamoDB 表上的流量峰值下降了。我还将假设它只能有一个父级,因此它的父级随机为3

那么,这是否意味着如果我们使用此适配器针对具有上述状态的 DynamoDB 流启动 Worker,只会开始处理分片0、36

4

1 回答 1

2

我了解到 DynamoDB Stream 分片从不合并。即使在表的流量减少之后,每个(并行)分片的吞吐量也会降低。我在问题中描述的情况不会发生。

也好像

一个 DynamoDB Stream 分片最多可以有 1 个父级和最多 2 个子级。

我从这个问题中学到的底线是:

Kinesis Client Library + DynamoDB Streams Kinesis Adapter 保证所有分片都将按顺序处理,除非您在处理分片时落后,以便在处理之前对其进行修整。

于 2016-06-07T16:30:59.160 回答