我目前正在使用KCL编写Kinesis Consumer。当我运行使用者时,我的RecordProcessor调用了processRecords方法时,传递给该方法调用的记录数通常很小。记录数通常在2-150个记录的范围内。我用来构建KCL工作者的KinesisClientLibConfiguration使用默认的maxRecords值10,000。
我知道getRecords API(https://docs.aws.amazon.com/streams/latest/dev/service-sizes-and-limits.html)的局限性,特别是它可以从单个分片每次调用中检索10 MB数据。但是,我不了解RecordProcessor的processRecords方法与KCL对getRecords API的使用之间的关系。我考虑过,也许我每次调用的getRecords数据限制为10MB,但是考虑到我的记录约为15KB,这似乎不太可能。
以前有没有人遇到过这个问题,或者不知道为什么会发生这种情况?我的Kinesis流当前使用10个分片。任何想法是建议,将不胜感激。请让我知道我是否可以扩展/阐明任何内容。