漏消费:offset提交成功,消费者端后续的数据处理未完成(建议下游步骤事务处理) 。
消费者组为了实现横向扩展,应用程序需要创建一个消费者群组,然后往群组里添加消费者来提高处理效率,群组里的每个消费者只处理一部分消息 。
消费者组是逻辑上的一个消费者,是由一个或多个消费者实例组成,具有可扩展性和可容错性,消费者组内的消费者共享一个GroupId组成;组内每个消费者负责消费不同分区数据,并行消费数据;当组内一个消费者挂了之后,其它消费者要自动承担它的消费任务 - 组内再平衡 。
触发再平衡消费成员与Broker分区保持心跳连接,或者消费成员处理消息时间过长,会被认为此消费者需要被移除,触发组内消费成员任务再分配 。以下配置任其一条件触发再平衡:
- # 心跳连接超时的 移除条件(建议45秒)
- session.timeout.ms
- 【我的 Kafka 旅程 - Consumer】# 消息处理超时的 移除条件(建议5分钟)
- max.poll.interval.ms
-
- # 再平衡策略配置项(可多策略组合)
- partition.assignment.strategy = Range | RoundRobin | Sticky | CooperativeSticky
- Range:单个Topic内的重新平均分配
- RoundRobin:所有Topic的全部消费者,一起重新分配
- Sticky:一次小范围重新分配;仅调整需要的,避免大规模重新分配
- CooperativeSticky:可多次小范围重新调整,直至最终效果
- 增加分区,增加消费者,两者一一对应起来,并行消费
- 调整一次最多拉取的消息条数(500条)
- 调整单次抓取的数据最大容量(50M)
经验总结扩展阅读
- 电视剧我的莫格利男孩一共多少集?
- 我的莫格利男孩高婕结局是什么?
- 我的邻居睡不着宋米哆身世是什么?
- 电视剧我的体育老师结局怎样?
- 我的莫格利男孩储时和谁在一起?
- 电视剧我的莫格利男孩结局是什么?
- 电视剧我和我的儿女们大结局是什么?
- 我和我的儿女们安安是谁的孩子?
- 电视剧我和我的儿女们剧情介绍?
- 电视剧我和我的儿女们芳姨扮演者是谁?
