深入了解Kafka【五】Partition和消费者的关系

1、消费者与Partition
以下来自《kafak权威指南》第4章。
假设主题T1有四个分区。
1.1、一个消费者组
1.1.1、消费者数量小于分区数量
只有一个消费者时,消费者1将收到4个分区的全部消息。

当有两个消费者时,每个消费者将分别从两个分区接受消息。

1.1.2、消费者数量等于分区数量
当有四个消费者时,每个消费者都可以接受一个分区的消息。

1.1.3、消费者数量大于于分区数量
当有五个消费者时,会有闲置的消费者。

1.2、两个消费者组
消费者群组之间是互不影响的,如图:

2、分区分配策略
当消费者加入群组的时候,会根据分区分配策略决定哪些分区分配给哪些消费者。
Kafka有两种分配策略:Range和RoundRobin。
- Range
Topic的若干个连续的Partition分配给消费者。 - RoundRobin
Topic的所有Partition逐个分配给消费者。
3、分区Rebalance(再均衡)
- 有新的消费者加入消费者群组
- 已有的消费者退出消费者群组
- 订阅的主题的分区发生变化
以上三种情况都会触发分区的重新分配,重新分配的过程叫Rebalance(再均衡)。
Rebalance给消费者群组带来了高可用性与伸缩性,但是在Rebalance期间,消费者无法读取消息,整个群组一小段时间不可用,而且当分区被重新分配给另一个消费者时,消费者当前的读取状态会丢失。

深入了解Kafka【五】Partition和消费者的关系的更多相关文章
- kafka中partition和消费者对应关系
1个partition只能被同组的一个consumer消费,同组的consumer则起到均衡效果 消费者多于partition topic: test 只有一个partition 创建一个topic- ...
- 二十二、Hadoop学记笔记————Kafka 基础实战 :消费者和生产者实例
kafka的客户端也支持其他语言,这里主要介绍python和java的实现,这两门语言比较主流和热门 图中有四个分区,每个图形对应一个consumer,任意一对一即可 获取topic的分区数,每个分区 ...
- Kafka的生产者和消费者代码解析
:Kafka名词解释和工作方式 1.1:Producer :消息生产者,就是向kafka broker发消息的客户端. 1.2:Consumer :消息消费者,向kafka broker取消息的客户端 ...
- 二、Kafka基础实战:消费者和生产者实例
一.Kafka消费者编程模型 1.分区消费模型 分区消费伪代码描述 main() 获取分区的size for index =0 to size create thread(or process) co ...
- Go 关于 kafka 的生产者、消费者实例
zookeeper + kafka 首先要在 apche 官网下载 kafka 的程序包(linux版本),然后放到服务器上解压,得到以下目录 bin 目录下包含了服务的启动脚本 启动 zookeep ...
- Kafka Topic Partition Offset 这一长串都是啥?
摘要:Offset 偏移量,是针对于单个partition存在的概念. 本文分享自华为云社区<Kafka Topic Partition Offset 这一长串都是啥?>,作者: gent ...
- Kafka Topic Partition Replica Assignment实现原理及资源隔离方案
本文共分为三个部分: Kafka Topic创建方式 Kafka Topic Partitions Assignment实现原理 Kafka资源隔离方案 1. Kafka Topic创建方式 ...
- Kafka Cached zkVersion [62] not equal to that in zookeeper, skip updating ISR (kafka.cluster.Partition) 问题分析
我司业务Kafka集群是3节点(broker分别为10,20,30),每个Topic 3 Partition,3 Repilication的配置,早上起床突然发现所有Topic的Broker节点都变为 ...
- kafka之partition分区及副本replica升级
修改kafka的partition分区 bin/kafka-topics.sh --zookeeper datacollect-2:2181 --alter --partitions 3 --topi ...
随机推荐
- excel-删除
问题[1]:删除不整齐数据. 1 编号 单词本身 词性 命名实体 依存句法父节点 依存句法 谓词 语义角色 2 0 < wp O 1 WP _ - 3 1 弄臣 n O -1 HED _ - 4 ...
- 用了Dapper之后通篇还是SqlConnection,真的看不下去了
一:背景 1. 讲故事 前几天看公司一个新项目的底层使用了dapper,大家都知道dapper是一个非常强大的半自动化orm,帮程序员解决了繁琐的mapping问题,用起来非常爽,但我还是遇到了一件非 ...
- Python解决网吧收费系统,远控网吧电脑设备!
python破解网吧收费系统,远控网吧电脑设备! 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更 ...
- Vue 引用图片的三种方式
首先给图片地址绑定变量 <template> <img :src="imgUrl"> </template> 在script中设置变量 < ...
- Jenkins(Extended E-mail Notification)邮箱配置正确但是并没有发送邮件
废话 近期在把之前的接口自动化demo与jenkins集成,昨天发现了邮件配置正确但是没有发送邮件的问题,通过勾选系统设置 - >Extended E-mail Notification -&g ...
- java 多态一
一 多态的概述 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学 生也是人,即出现两种形态. Java作为面向对象的语言,同样可以描述一个事物的多种形态.如Studen ...
- C#LeetCode刷题-随机数
随机数篇 # 题名 刷题 通过率 难度 470 用 Rand7() 实现 Rand10() 34.4% 中等 478 在圆内随机生成点 22.8% 中等 497 非重叠矩形中的随机点 22 ...
- Vue Vuex 严格模式+实例解析+dispatch/commit + state/getter
1.严格模式 import getters from './getters' import mutations from './mutations' import actions from './ac ...
- Solon 的 PathVariable 不需注解
相对于 Spring boot 的 path variable :Solon 的不需注解,只要变量名对上即可: //path var demo // @XMapping("e/{p_q}/{ ...
- windows下RocketMQ的安装部署
一.预备环境 1.系统 Windows 2. 环境 JDK1.8.Maven.Git 二. RocketMQ部署 1.下载 1.1地址:http://rocketmq.apache.org/relea ...