【发布时间】:2023-03-27 16:48:01
【问题描述】:
consumer 的属性 queuedchunks.max 含义有点模糊。
我看到,消费者中的每个流都有一个定义容量的队列(queuedchunks.max)。
1) 但是,如果我的消费者开始消费更多主题(在单个流中),这是否会影响该队列能够容纳的对象的最大大小。
例如: 如果我设置fetchSize = 1000,queuedchunks.max = 10,是不是意味着无论我消费多少topic,内存中的队列永远不会大于1000*10?
2) 这个队列 - 在将消息刷新到磁盘之前以异步方式为我的消费者收集消息的有效方法吗?磁盘 IO 通常很慢,所以在队列中收集消息会比尝试立即将它们写入磁盘更好吗?
3) 如果我从 N 个主题中消费,消息如何在此队列中排序?
每个队列节点(条目)只保留 1(单个)主题的消息:
[T1]、[T2]、[T3]、[T1]、[T2]..?
或者有可能,每个节点都保存不同主题的消息?
[T1, T2], [T3, T1, T2]..?
4) 节点(条目)的大小是否为 fetchSize 最大?
5) 是否可以为每个主题设置 fetchSize?或者它只识别消费者财产?
谢谢。
【问题讨论】:
标签: memory configuration queue consumer apache-kafka