我被一些使用者API配置属性弄糊涂了。他们似乎要么相互冲突,要么互相抵消。有人能帮我理解以下几个键之间的区别吗?
定义
fetch.max.bytes:服务器应该为获取请求返回的最大数据量
max.partition.fetch.bytes:服务器将返回每个分区的最大数据量。
max.poll.records:在对轮询()的单个调用中返回的最大记录数
示例
fetch.max.bytes:30000 (30)
max.partition.fetch.bytes:20000000 (20毫巴)
max.poll.records:1000
在我看来,上面的使用者定义似乎是说它可以接受高达20 me的数据/分区,但是只指定最大字节30‘t,这是没有意义的。最大民意测验记录似乎也限制了数据的摄入量,因为根据每个记录的大小,1000可能太低或太高。
发布于 2021-11-06 10:30:03
fetch.max.bytes和max.partition.fetch.bytes是发送给卡夫卡经纪人的获取请求字段。它们分别确定代理将发送的获取响应的最大大小以及代理可以返回的每个分区的最大数据大小。是代理使用这些值来计算获取响应。
另一方面,max.poll.records是客户端的唯一配置.它确定对poll()的调用可以返回多少记录。
使用者将在后台获取记录并对它们进行缓冲,以便在调用poll()时准备好记录。
例如,这些设置允许以批方式获取记录,这样效率更高,但仍然将它们以小块的形式传递给使用者应用程序,甚至根据其所做的处理而单独传递。
https://stackoverflow.com/questions/69858385
复制相似问题