gpt4 book ai didi

apache-kafka - 带组的 kafka 消费者模式

转载 作者:行者123 更新时间:2023-12-04 03:57:15 24 4
gpt4 key购买 nike

我试图通过 Kafka 0.8.1.1 了解可能的消费者模式。让我们忽略复制,因为我不相信它会影响这些模式。我为所有测试运行了命令行控制台使用者。

你能确认我的理解是正确的吗?

1) 一个主题,多个分区 m,多个消费者 n,m=>n,没有定义组。

In this case every consumer will get every message on the topic.



2) 一个主题,许多分区 m,许多消费者 n 与 m LESS THAN n ,没有定义组。

Same behavior. Every consumer will get every message on the topic.



3) 一个topic,多个partition m,多个consumer n,m LESS THAN n,为所有consumer定义一个consumer group

I see "No broker partitions consumed by consumer thread" on one of the consumer consoles. Is this because there are more consumers than partitions? ( In this case m=3, n=4 )



4) 一个topic,多个partition m,多个consumer n, m=n ,为所有consumer定义一个consumer group

From using Kafka Monitor, I see that each partition is assigned to one consumer now. However, it seems that there is no parallelism in data consumption. What I see happening is that one consumer gets messages from time t0 to t1 from partition P1. Then another consumer gets messages from t1 to t2 from partition P2 and so on.



为什么没有并行消费发生? 在我看来,生产者的数据从 t0 到 t1 进入 P1,然后从 t1 到 t2 进入 P2。我认为如果我不指定分区键,生产者的数据将被随机分区。只是随机性似乎被“延迟”了。为什么会这样?

最佳答案

我认为这两个链接可以帮助您了解正在发生的事情:

Should I choose multiple group ids or a single one for the consumers?

Why some of the consumers in a consumer group never receive any message?

如果你不指定分区键,它不会是随机的,但它会在一段时间内坚持一个分区一段时间,然后在下一个时间段循环到另一个分区。默认时间为 10 分钟,但 我想 您可以使用 topic.metadata.refresh.interval.ms 更改它

关于apache-kafka - 带组的 kafka 消费者模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24129966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com