luc*_*uca 0 java record amazon-web-services amazon-dynamodb amazon-kinesis
我必须将数据从Kinesis传递到DynamoDB。问题是,当我的软件运行时,并非所有数据都会到达。因此,当我重新启动应用程序时,许多记录都添加到了DynamoDB中。现在我不知道为什么记录不能在运行时间内全部到达,但这是一个大问题。资源监视很好,我尝试了InitialPositionInStream.LATEST和InitialPositionInStream.TRIM_HORIZON,而没有进行任何更改。这是发生在某人身上吗,有解决方案吗?似乎有一个保存记录的缓冲区。我使用了aws的git代码。可能是网络问题?
Amazon Kinesis中的记录将保存24小时。
如果您使用TRIM_HORIZON,则将从最早的记录(即长达24小时)开始,然后从那里向前移动。
LATEST意味着您仅对自启动新应用程序以来收到的记录感兴趣。
我建议您使用Amazon Kinesis Client Library(如果尚未使用),它将使用DynamoDB表创建的DynamoDB表来管理记录的检查点。这样,当您停止并重新启动应用程序时,它将保存并从上次成功处理的记录中恢复(此记录仍处于“最少接收一次”模型中)。