在 Kafka 中创建消费者组时,它是否会创建一个运行在同一 JVM 进程上的工作池,或者消费者组是否可以跨越多个计算机/节点?
如果它跨越多台计算机,那么跟踪偏移量等将很困难。
最佳答案
"does it create a pool of workers that run on the same jvm process or could a consumer group span multiple computers/nodes?"
这取决于您为您的消费者组创建了多少个 jvm 进程。而且,是的,它可以跨越多个计算机/节点。 Kafka 的组协调器然后将单独的线程分配给主题的分区。请注意,同一消费者组中的一个消费者(jvm 进程)最多可以使用单个 TopicPartition。
"If it spans multiple computers then keeping track of offsets etc. will be hard."
Kafka 通过将所有元信息和每个消费者组的进度集中存储在一个名为“__consumer_offsets”的内部主题中来简化此过程,当且仅当所有节点都属于同一集群时,该主题在整个集群中可用。
关于apache-kafka - 消费者组可以跨越多个服务器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65220462/