kafka消费者--指定分区消费

kafka消费者有两种模式, 订阅模式和分配模式, 具体区别如下

模式不同之处相同之处
subscribe()使用 Kafka Group 管理,自动进行 rebalance 操作可以在 Kafka 保存 offset
assign()用户自己进行相关的处理也可以进行 offset commit,但是尽量保证 group.id 唯一性,如果使用一个与上面模式一样的 group,offset commit 请求将会被拒绝

如果使用assign,则表明该consumer是独立consumer(standalone consumer),它不属于任何消费者组。独立consumer可以订阅任何分区,彼此之间也没有关系,即两个独立consumer可以订阅并消费相同的分区

其他情况如下:

  • assign + subscribe 冲突错误 java.lang.IllegalStateException: Subscription to topics, partitions and pattern are mutually exclusive
  • assign + assign 后一个生效
  • 2 个 consumer assign 同一个 partition 消费两次
  • 一个 consumer assign 一个 consumer subscribe, rebalance 踢出 assign

 

 

 

posted @ 2023-03-19 18:10  車輪の唄  阅读(432)  评论(0编辑  收藏  举报  来源