在kafka中创建使用者组时,它是创建在同一jvm进程上运行的工人池,还是一个使用者组可以跨越多台计算机/节点?如果它跨越多台计算机,那么跟踪偏移量等将是困难的。
f4t66c6m1#
“它是否创建了在同一jvm进程上运行的工人池,或者一个使用者组是否可以跨越多台计算机/节点?”这取决于您为用户组创建了多少个jvm进程。是的,它可以跨越多个计算机/节点。Kafka的组协调器将把各个线程分配给一个主题的分区。请注意,同一使用者组中的一个使用者(jvm进程)最多可以使用一个topicpartition。“如果它跨越多台计算机,那么很难跟踪偏移量等。”kafka通过将每个消费者组的所有元信息和进度集中存储在一个名为“\u consumer\u offset”的内部主题中来简化这一过程,该主题在整个集群中都可用,当且仅当所有节点都属于同一集群时。
zc0qhyus2#
首先,你不能直接创建消费群体。您只需要创建消费者和具有相同特性的消费者 group.id 将代表一个消费群体。当多个使用者订阅了一个主题并属于同一使用者组时,该组中的每个使用者将从该主题中分区的不同子集接收消息。如下图所示:当然,您可以在不同的服务器中创建这些使用者,这是负载平衡的推荐方法。kafka在名为 __consumer_offsets . 所以跟踪偏移量并不是那么难。可以使用以下命令检查耗电元件组的耗电元件偏移:
group.id
__consumer_offsets
2条答案
按热度按时间f4t66c6m1#
“它是否创建了在同一jvm进程上运行的工人池,或者一个使用者组是否可以跨越多台计算机/节点?”
这取决于您为用户组创建了多少个jvm进程。是的,它可以跨越多个计算机/节点。Kafka的组协调器将把各个线程分配给一个主题的分区。请注意,同一使用者组中的一个使用者(jvm进程)最多可以使用一个topicpartition。
“如果它跨越多台计算机,那么很难跟踪偏移量等。”
kafka通过将每个消费者组的所有元信息和进度集中存储在一个名为“\u consumer\u offset”的内部主题中来简化这一过程,该主题在整个集群中都可用,当且仅当所有节点都属于同一集群时。
zc0qhyus2#
首先,你不能直接创建消费群体。您只需要创建消费者和具有相同特性的消费者
group.id
将代表一个消费群体。当多个使用者订阅了一个主题并属于同一使用者组时,该组中的每个使用者将从该主题中分区的不同子集接收消息。如下图所示:当然,您可以在不同的服务器中创建这些使用者,这是负载平衡的推荐方法。
kafka在名为
__consumer_offsets
. 所以跟踪偏移量并不是那么难。可以使用以下命令检查耗电元件组的耗电元件偏移: