在Kafka 0.9.0消费者中,限制我们接收的记录数量是否可能?
max.poll.records
这个设置确定了在一次 poll()
调用中返回的最大记录数。
浏览经纪人配置。似乎只有基于字节控制记录的配置选项。
replica.fetch.max.bytes
replica.fetch.min.bytes
所有与消息相关的其他配置选项似乎也都是以字节为单位表达的。我相信设计成这样的原因之一是为了提供更统一的消息消费控制。字节是衡量消息的一种非常具体的方式。由于消息在字节数上可能有很大的变化,试图按照消息数量来衡量会导致不太一致的行为。
例如,如果您有10条每个100字节的消息,则总大小将为1,000字节。如果您有第二组10条每个100,000字节的消息,则总大小将为1,000,000字节(1MB)。
按消息数量配置Kafka将完全相同地处理这两种情况。但由于大小差异如此之大,它们可能不应该被完全相同地处理。