我已经为 Kinesis 流配置了 4 个分片,并作为使用者实现了 KCL 库版本 1。消费者仅从一个分片中提取记录(shardId-000000000000)。我还注意到,如果我重新启动消费者,它会在一段时间内从所有分片中提取一些记录(陈旧记录),但主要是从单个分片中提取。
228830 shardId-000000000000
98697 shardId-000000000001
579 shardId-000000000002
306 shardId-000000000003
163170 Shard: shardId-000000000000
注意-
InitialPositionInStream.LATEST
已配置
我没有得到确切的答案,但我认为当 KCL 管理的 dyanamoDB 表不同步时就会发生这种情况。我更改了 Kinesis 客户端应用程序名称并重新启动了消费者;现在工作正常。
如果有人能给出更具体的答案,请回答。