用户组可以跨多个服务器吗?

jv2fixgn  于 2021-06-04  发布在  Kafka
关注(0)|答案(2)|浏览(294)

在kafka中创建使用者组时,它是创建在同一jvm进程上运行的工人池,还是一个使用者组可以跨越多台计算机/节点?
如果它跨越多台计算机,那么跟踪偏移量等将是困难的。

f4t66c6m

f4t66c6m1#

“它是否创建了在同一jvm进程上运行的工人池,或者一个使用者组是否可以跨越多台计算机/节点?”
这取决于您为用户组创建了多少个jvm进程。是的,它可以跨越多个计算机/节点。Kafka的组协调器将把各个线程分配给一个主题的分区。请注意,同一使用者组中的一个使用者(jvm进程)最多可以使用一个topicpartition。
“如果它跨越多台计算机,那么很难跟踪偏移量等。”
kafka通过将每个消费者组的所有元信息和进度集中存储在一个名为“\u consumer\u offset”的内部主题中来简化这一过程,该主题在整个集群中都可用,当且仅当所有节点都属于同一集群时。

zc0qhyus

zc0qhyus2#

首先,你不能直接创建消费群体。您只需要创建消费者和具有相同特性的消费者 group.id 将代表一个消费群体。当多个使用者订阅了一个主题并属于同一使用者组时,该组中的每个使用者将从该主题中分区的不同子集接收消息。如下图所示:

当然,您可以在不同的服务器中创建这些使用者,这是负载平衡的推荐方法。
kafka在名为 __consumer_offsets . 所以跟踪偏移量并不是那么难。可以使用以下命令检查耗电元件组的耗电元件偏移:

相关问题