【以下的问题经过翻译处理】 我有一个Kinesis消费者代码,它执行DescribeStream,然后针对每个ShardId启动一个新的Java线程来消费每个Shard。我在Stream中仅配置了3个Shard,但我得到了8个ShardId,为什么会这样?我不想有额外的5个线程不断消费并获取零记录。您可以看到,我正记录每个Shard上处理的记录总数。
‘‘’
2020-11-19 08:59:49 INFO GetRecords:109 - # Kinesis consumers: 8
2020-11-19 08:59:49 INFO GetRecords:112 - Kinesis - ShardId: 'shardId-000000000000', Total Records: 0
2020-11-19 08:59:49 INFO GetRecords:112 - Kinesis - ShardId: 'shardId-000000000001', Total Records: 0
2020-11-19 08:59:49 INFO GetRecords:112 - Kinesis - ShardId: 'shardId-000000000002', Total Records: 0
2020-11-19 08:59:49 INFO GetRecords:112 - Kinesis - ShardId: 'shardId-000000000003', Total Records: 19110
2020-11-19 08:59:49 INFO GetRecords:112 - Kinesis - ShardId: 'shardId-000000000004', Total Records: 0
2020-11-19 08:59:49 INFO GetRecords:112 - Kinesis - ShardId: 'shardId-000000000005', Total Records: 0
2020-11-19 08:59:49 INFO GetRecords:112 - Kinesis - ShardId: 'shardId-000000000006', Total Records: 18981
2020-11-19 08:59:49 INFO GetRecords:112 - Kinesis - ShardId: 'shardId-000000000007', Total Records: 16195
‘’’
背景:我从1开始,然后配置为2,然后是3。这是否与其他具有0个记录的ShardId有关?如果是,那么忽略某种类型的Shard的推荐代码/实践是什么?