0

我有一个 .war,其中我们有一个 Kinesis 应用程序,它处理一个包含单个分片的流。我们在生产中部署了两个战争实例。结果,我最终会得到两个工人在一个带有单个分片的流上工作。处理此问题的推荐方法是什么?我尝试在本地开发机器上部署两次战争,从某种意义上说,每条记录只处理一次似乎很好。我知道 AWS 建议每个分片一个实例。从他们的文档中:

Typically, when you use the KCL, you should ensure that the number of instances does not exceed the number of shards (except for failure standby purposes). Each shard is processed by exactly one KCL worker and has exactly one corresponding record processor, so you never need multiple instances to process one shard.
4

1 回答 1

2

你可能大部分时间都很好。KCL 将为您处理。

http://docs.aws.amazon.com/kinesis/latest/dev/kinesis-record-processor-ddb.html

在处理一些记录之后,但在检查点之前,您想检查一个工人是否死亡的案例。在这种情况下,接管的工作人员将重新处理一些记录(从上一个检查点开始)。您的应用程序可以处理记录的再处理吗?

请参阅:http ://docs.aws.amazon.com/kinesis/latest/dev/kinesis-record-processor-duplicates.html

于 2015-06-30T23:15:18.473 回答