0

我必须将我的数据从 Kinesis 传递到 DynamoDB。问题是当我的软件运行时并非所有数据都到达。所以当我重新启动我的应用程序时,很多记录都会添加到 DynamoDB 中。现在我不知道为什么记录没有在运行时间内全部到达,但这是一个大问题。资源的监控很好,我尝试了 InitialPositionInStream.LATEST 和 InitialPositionInStream.TRIM_HORIZON 没有任何改变。它发生在某人身上吗?有解决办法吗?似乎有一个保存记录的缓冲区。我使用了aws的git代码。可能是网络问题?

4

1 回答 1

5

Amazon Kinesis 中的记录保存 24 小时。

如果您使用TRIM_HORIZON,您将从最旧的记录(即最多 24 小时)开始并从那里向前遍历。 LATEST表示您只对开始新申请后收到的记录感兴趣。

如果您还没有使用Amazon Kinesis Client Library ,我建议您使用它,它将使用它为自己创建的 DynamoDB 表来管理记录的检查点,以保持顺序。这样,当您停止并重新启动应用程序时,它将保存并从上次成功处理的记录恢复(这仍处于接收至少一次的模型中)。

于 2015-06-01T23:31:15.800 回答