根据我目前对Kafka的了解,存储数据,并通过“偏移量”(数值)标识每个“存储位置”。
我遇到了此参数-> max.poll.records
假设max.poll.records
的值为5,这意味着什么?这是否意味着它将一次读取总计FIVE
个“存储位置”(例如,它将尝试从偏移量101、102、103、104、105中获取数据)。
有人可以帮助我理解吗?
答案 0 :(得分:1)
首先,您是对的,为每个记录分配了一个分区中的偏移量。
max.poll.records
设置(docs)可以定义每次应用程序调用{{3}}时使用者将返回的最大记录数。这是一个最大值,它可以返回的最大值或更少。
请注意,由于此设置是在客户端应用的,因此这不能直接控制从群集中获取多少数据。这只是为了控制poll()
返回的记录数。
在后台,使用者可能已经获取了更多数据,以准备在应用程序下次调用poll()
时返回。消费者检索多少数据由fetch.min.bytes
,max.partition.fetch.bytes
和fetch.max.bytes
确定。
此设置可让您控制应用程序的运行速度,因为即使有大量可用记录,也只需一次处理max.poll.records
。