Kafka Consumer消费消息和Rebalance机制(2)
导读:Kafka,Kafka Rebalance rebalance 本质上是一种协议,规定了一个 consumer group 下的所有 consumer 如何达成一致来分配订阅 topic 的每个分区。 比如某个 group 下有 20 个 co
Kafka
Kafka Rebalance
rebalance 本质上是一种协议,规定了一个 consumer group 下的所有 consumer 如何达成一致来分配订阅 topic 的每个分区。
比如某个 group 下有 20 个 consumer,它订阅了一个具有 100 个分区的 topic。
正常情况下,Kafka 平均会为每个 consumer 分配 5 个分区。这个分配的过程就叫 rebalance。
什么时候rebalance?
这也是经常被提及的一个问题。rebalance 的触发条件有三种:
- 组成员发生变更(新 consumer 加入组、已有 consumer 主动离开组或已有 consumer 崩溃了——这两者的区别后面会谈到)
- 订阅主题数发生变更
- 订阅主题的分区数发生变更
如何进行组内分区分配?
Kafka 默认提供了两种分配策略:Range 和 Round-Robin。
当然 Kafka 采用了可插拔式的分配策略,你可以创建自己的分配器以实现不同的分配策略。
kafka高频面试题
- Kafka 有哪些命令行工具?你用过哪些?
/bin目录,管理 kafka 集群、管理 topic、生产和消费 kafka - Kafka Producer 的执行过程?拦截器,序列化器,分区器和累加器
- Kafka Producer 有哪些常见配置?broker 配置,ack 配置,网络和发送参数,压缩参数,ack 参数
- 如何让 Kafka 的消息有序?Kafka 在 Topic 级别本身是无序的,只有 partition 上才有序,所以为了保证处理顺序,可以自定义分区器,将需顺序处理的数据发送到同一个 partition
- Producer 如何保证数据发送不丢失?ack 机制,重试机制
- 如何提升 Producer 的性能?批量,异步,压缩
- 如果同一 group 下 consumer 的数量大于 part 的数量,kafka 如何处理?多余的 Part 将处于无用状态,不消费数据
- Kafka Consumer 是否是线程安全的?不安全,单线程消费,多线程处理
- 讲一下你使用 Kafka Consumer 消费消息时的线程模型,为何如此设计?拉取和处理分离
- Kafka Consumer 的常见配置?broker, 网络和拉取参数,心跳参数
- Consumer 什么时候会被踢出集群?奔溃,网络异常,处理时间过长提交位移超时
- 当有 Consumer 加入或退出时,Kafka 会作何反应?进行 Rebalance
- 什么是 Rebalance,何时会发生 Rebalance?topic 变化,consumer 变化
上述的关于Kafka 跟 Consumer消费消息和Rebalance机制的全部内容,您了解了吗?
相关阅读
-
数据库设计分为哪几个阶段 如何设计数据库
您可能不了解数据库设计分为哪几个阶段的IT小经验,一起跟随小编看看吧! 数据库设计是一个复杂的过程,通常分为以下几个阶段: 需求分析 在这个阶段,数据库设计师需要与客户或业务团
-
FTP介绍及常见命令 FTP常用命令及简介
如果想知道FTP介绍及常见命令方面的内容,很不错的方法小知识,建议收藏哦! File Transfer Protocol(FTP)是一种在客户端和服务器之间传输文件的标准网络协议。 FTP允许用户上传和下载文件,
-
网页首页内容模板在哪 免费html网页模板
本文导读:网页首页内容模板在哪和免费html网页模板的方法内容,接下来IT袋小编就来介绍。 很多刚从事公众号运营的小伙伴,对公众平台的功能设置和使用方法还不是很了解,尤其是一些不
-
建站是什么专业 建网站的流程讲解
今天分享:建站是什么专业和建网站的流程讲解的教程内容,一起跟随小编看看吧! 公司建站需要了解什么? 做任何事情都是先要有一定的了解后才可以开始着手进行。下面我们一起学习一下


