用户组的数量是否影响kafka性能

x6492ojm  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(668)

在试图深入理解Kafka分布模型的同时,stackoverflow的一句话让我嗡嗡作响,我无法得到证实或否认。
因此,用户组越多,性能就越低,因为kafka需要将消息复制到所有这些组并保证总的顺序。
据我从Kafka文档中了解,多个消费者群体的行为类似于单一消费者。在代理中不进行复制,因为每个使用者都有自己的特定分区的偏移量。那么,组的数量就不应该有任何大的开销,所有的数据都放在一个地方,只是偏移量不同。对吗?
如果这是正确的,那么就不可能在不影响吞吐量的情况下实际引入多个不相交的使用者,因为所有使用者总是查询所有分区,并且引入了某种复制。请注意,这与使用者线程的数量无关,线程只会提高使用者性能,就我的结论而言,它们不会干扰代理操作。

piah890a

piah890a1#

它不会影响kafka进程的性能,但由于2个或更多的使用者组意味着从kafka服务器读取的次数增加了2倍或更多,因此如果用户组很多,则会影响传出流量中的网络利用率。此外,数据主要从内存中读取,不会影响性能,因为ram比网络通信快得多。

am46iovg

am46iovg2#

我自己也找到了答案,它位于kafka 0.9及之后的新消费者api文档中:
从概念上讲,您可以将使用者组视为一个碰巧由多个进程组成的单个逻辑订户。作为一个多用户系统,kafka自然支持在不复制数据的情况下为给定的主题拥有任意数量的用户组(额外的用户实际上相当便宜)。
一句话:不,多个消费群体不会降低绩效,至少不会显著降低。

相关问题