- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Kafka分区分配策略PartitionAssignmentStrategy-过往记忆
Kafka分区分配策略(Partition Assignment Strategy)
Spark大数据博客 -
Kafka分区分配策略(Partition Assignment Strategy)
问题
用过 Kafka 的同学应该都知道,每个 Topic 一般会有很多个
partitions。为了使得我们能够及时消费消息,我们也可能会启动多个 Consumer 去消费,而每个
Consumer 又会启动一个或多个streams去分别消费 Topic
对应分区中的数据。我们又知道,Kafka 存在 Consumer Group 的概念,也就是 group.id 一样的
Consumer,这些 Consumer 属于同一个Consumer
Group,组内的所有消费者协调在一起来消费订阅主题(subscribed topics)的所有分区(partition)
。当然,每个分区只能由同一个消费组内的一个consumer来消费。那么问题来了,同一个
Consumer Group 里面的 Consumer 是如何知道该消费哪些分区里面的数据呢?
如果想及时了
解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop
如上图,Consumer1 为啥消费的是 Partition0 和 Partition2,而不是 Partition0 和
Partition3?这就涉及到 Kafka 内部分区分配策略(Partition Assignment Strategy)了。
在 Kafka 内部存在两种默认的分区分配策略:Range 和 RoundRobin。当以下事件发生时,Kafka
将会进行一次分区分配:
1 / 4
Kafka分区分配策略(Partition Assignment Strategy)
Spark大数据博客 -
同一个 Consumer Group 内新增消费者
消费者离开当前所属的Consumer Group,包括shuts down 或 crashes
订阅的主题新增分区
将分区的所有权从一个消费者移到另一个消费者称为重新平衡(rebalance),如何rebalance就
涉及到本文提到的分区分配策略。下面我们将详细介绍 Kafka
内置的两种分区分配策略。本文假设我们有个名为 T1 的主题,其包含了10个分区,然后我们有
两个消费者(C1,C2)来消费这10个分区里面的数据,而且 C1 的 num.streams = 1,C2 的
num.streams = 2。
Range strategy
Range策略是对每个主题而言的,首先对同一个主题里面的分区按照序号进行排序,并对消费者
按照字母顺序进行排序。在我们的例子里面,排完序的分区将会是0, 1, 2, 3, 4, 5, 6, 7, 8,
9;消费者线程排完序将会是C1-0, C2-0, C2-1。然后将partitions的个数除于消费者线程的总数来
决定每个消费者线程消费几个分区。如果除不尽,那么前面几个消费者线程将会多消费一个分区
。在我们的例子里面,我们有10个分区,3个消费者线程, 10 / 3 =
3,而且除不尽,那么消费者线程 C1-0
将会多消费一个分区,所以最后分区分配的结果看起来是这样的:
C1-0 将消费 0, 1, 2, 3 分区
C2-0 将消费 4, 5, 6 分区
C2-1 将消费 7, 8, 9 分区
假如我们有11个分区,那么最后分区分配的结果看起来是这样的:
C1-0 将消费 0, 1, 2, 3 分区
C2-0 将消费 4, 5, 6, 7 分区
C2-1 将消费 8, 9, 10 分区
假如我们有2个主题(T1和T2),分别有10个分区,那么最后分区分配的结果看起来是这样的:
C1-0 将消费 T1主题的 0, 1, 2, 3 分区以及 T2主题的 0, 1, 2, 3分区
C2-0 将消费 T1主题的 4, 5, 6 分区以及 T2主题的 4, 5, 6分区
C2-1 将消费 T1主题的 7, 8, 9 分区以及 T2主题的 7, 8, 9分区
可以看出,C1-0 消费者线程比其他消费者线程多消费了2个分区,这就是Range
strat
您可能关注的文档
- DEERE取得了令人瞩目的成绩继续保持优势地位紧-JohnDeere.PDF
- C胺的硷度.DOC
- DICOM标准安全性规定-nemadicom.PPT
- DiorBackstageFullCoverage当初这只粉底刷是看igs.DOC
- DIY保养品师资培训班-国立台南大学.DOC
- DMK331P-欧智博德仪器仪表上海有限公司.PDF
- DOWCORNINGRSILICONE780屋顶与管道硅酮密封胶半透明.PDF
- DNA析出与鉴定-阜宁东沟中学.PPT
- DNA分子的复制方式.PPT
- DMA传送请求信号.PPT
- 《GB/T 4340.2-2025金属材料 维氏硬度试验 第2部分:硬度计的检验与校准》.pdf
- GB/T 4340.2-2025金属材料 维氏硬度试验 第2部分:硬度计的检验与校准.pdf
- 中国国家标准 GB/T 4340.3-2025金属材料 维氏硬度试验 第3部分:标准硬度块的标定.pdf
- 《GB/T 4340.3-2025金属材料 维氏硬度试验 第3部分:标准硬度块的标定》.pdf
- GB/T 4340.3-2025金属材料 维氏硬度试验 第3部分:标准硬度块的标定.pdf
- 《GB/T 45284.1-2025信息技术 可扩展的生物特征识别数据交换格式 第1部分:框架》.pdf
- 中国国家标准 GB/T 45284.1-2025信息技术 可扩展的生物特征识别数据交换格式 第1部分:框架.pdf
- GB/T 45284.1-2025信息技术 可扩展的生物特征识别数据交换格式 第1部分:框架.pdf
- 《GB/T 45284.5-2025信息技术 可扩展的生物特征识别数据交换格式 第5部分:人脸图像数据》.pdf
- 中国国家标准 GB/T 45284.5-2025信息技术 可扩展的生物特征识别数据交换格式 第5部分:人脸图像数据.pdf
最近下载
- 软件设计服务合同.docx
- 工程制图与AutoCAD习题集(第2版)习题答案.pdf
- 第三单元 走向整体的世界 单元测试 (含解析)---2024-2025学年统编版(2019)高中历史必修中外历史纲要下册.pdf VIP
- 超级猩猩健身房品牌手册.pptx VIP
- 消费品以旧换新实施的创新路径与案例.docx VIP
- 智算中心建设项目可行性研究报告.docx
- 消费品以旧换新策略的实施案例分析与借鉴.docx VIP
- 基础护理学课件 14.第十四章 静脉输液与输血.ppt
- 电动港机装卸机械操作工(门机)技能测试题含答案.docx VIP
- 考点21:学会拓展延伸-备战2024年中考语文现代文阅读高频考点精讲课件(全国通用).pptx VIP
文档评论(0)