kafka group_id解释

topic到group质检是发布订阅的通信方式,即一条topic会被所有的group消费,属于一对多模式;group到consumer是点对点通信方式,属于一对一模式。

不使用group的话,启动10个consumer消费一个topic,这10个consumer都能得到topic的所有数据,相当于这个topic中的任一条消息被消费10次。

使用group的话,连接时带上groupid,topic的消息会分发到10个consumer上,每条消息只被消费1次

在一个消费者组当中可以有一个或者多个消费者实例,它们共享一个公共的group ID,组ID是一个字符串,用来唯一标志一个消费者组,组内的所有消费者协调在一起来消费订阅主题的所有分区,但是同一个topic下的某个分区只能被消费者组中的一个消费者消费,不同消费者组中的消费者可以消费相同的分区。

需要注意的是,如果消费者组当中消费者的数量超过了订阅主题分区的数量,那么多余的消费者就会被闲置,不会受到任何消息。

  1. 同一个Topic对应很多的分区,这topic消息,可以被很多组消费者消费,但是同一个topic下的某个分区,只能被一个消费者组当中的一个消费者消费
  2. 分区0,被消费者1消费,同时还被消费者2消费 --> 这个就是错的
  3. 一个消费者组的一个消费者,可以消费一个topic下的多个分区
  4. 同一个topic下的某个分区,可以被多个消费者组,消费者消息

你可能感兴趣的:(kafka)