Kafka-partition和消费者的关系

news/2024/10/23 9:24:19/

Kafka-partition

  • 目录
    • 概述
      • 需求:
    • 设计思路
    • 实现思路分析
      • 1.Kafka-partition
      • 2.消费者数量小于分区数量
      • 3.
    • 拓展实现
  • 参考资料和推荐阅读

Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.

目录

在这里插入图片描述

概述

Kafka-partition

需求:

Kafka-partition

设计思路

实现思路分析

1.Kafka-partition

分区可以将topic的消息打散到多个分区分布式的保存在不同的broker上,实现了producer和consumer消息处理的高吞吐量。Kafka的producer和consumer都可以多线程地并行操作,而每个线程处理的是一个分区的数据。
因此分区实际上是调优Kafka并行度的最小单元。对于producer而言,它实际上是用多个线程并发地向不同分区所在的broker发起Socket连接同时给这些分区发送消息;而consumer,同一个消费组内的所有consumer线程都被指定topic的某一个分区进行消费。

分区是消息分布式存储,方便并行操作,提高吞吐量

2.消费者数量小于分区数量

只有一个消费者时,消费者1将收到4个分区的全部消息,容易造成消费者1扛不住崩溃

3.

当有两个消费者时,每个消费者将分别从两个分区接受消息。
当有四个消费者时,每个消费者都可以接受一个分区的消息
当有五个消费者时,会有闲置的消费者

Kafka中的rebalance称之为再均衡,是Kafka中确保consumer group下所有的consumer如何达成一致,分配订阅的topic的每个分区的机制。

1、Rebalance触发的时机有:

(1)消费者组中consumer的个数发生变化了。

例如有新的consumer加入到消费者组,或者是某个consumer停止了。
(2)订阅的topic个数发生变化

消费者可以订阅多个主题,假设当前的消费者组订阅了三个主题,但有一个主题突然被删除了,此时也需要发生再均衡。
(3)订阅的topic分区数发生变化

topic的分区减少或新增,此时也需要发生再均衡。

拓展实现

这里参考:github:简单实现上述流程:
入门级实现:
: 部分源码实现.
: 源码实现

参考资料和推荐阅读

1.https://blog.csdn.net/zmj199536/article/details/125938273
2.https://www.cnblogs.com/xxeleanor/p/15054198.html

欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~


http://www.ppmy.cn/news/972853.html

相关文章

最新IT类offer档次排名

上一篇:阿里巴巴裁员19576人! 首先给大家看一份网上流传的《IT类offer档次排名》 第一档:股份制银行总行,证券公司,基金公司IT部门(民生,中信,兴业,浦发,南方…

与ChatGPT 技术对话 42 天后,30多岁男子过于焦虑自杀身亡...

点击“开发者技术前线”,选择“星标” 让一部分开发者看到未来 来自:极目新闻 最近ChatGPT的飞速发展引起了世界范围的广泛关注,有人兴奋,也有人担忧。 据比利时媒体LAvenir3月28日报道,一名热衷于环境问题的比利时男子…

人工智能轨道交通行业周刊-第45期(2023.5.15-5.21)

本期关键词:动车洗澡、热备列车、火车司机室、无缝线路、图像分割、自动标注 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨道…

【项目设计】基于负载均衡的在线oj平台

目录 一、项目介绍 二、开发环境以及技术 三、概要设计 四、关键算法 五、项目演示 六、代码实现 一、项目介绍 该项目是基于负载均衡的在线oj,模拟平时刷题网站(leetcode和牛客)写的一个在线判题系统 项目主要分为五个模块&#xff…

基于Python的简易评论区抽奖

文章目录 前言引入模块获取博客评论抽取用户程序入口效果 总结最后 前言 博主空空star主页空空star的主页 大家好,我是空空star,本篇给大家分享一下《基于Python的简易评论区抽奖》。 引入模块 import random import requests获取博客评论 size设置为1…

20230723红米Redmi Note8Pro掉在水里的处理步骤

20230723红米Redmi Note8Pro掉在水里的处理步骤 2023/7/23 18:18 百度搜搜:小米手机进水 破音怎么处理 Redmi Note8Pro 6400万全场景四摄 液冷游戏芯 4500mAh长续航 NFC 18W快充 红外遥控 https://www.zhiliancy.com/a/q5podmr12.html 首页 / 热文 / 内容 小米喇叭…

辅助驾驶功能开发-功能规范篇(23)-2-Mobileye NOP功能规范

5.2 状态机要求 5.2.1 NOP/HWP 状态机 NOP/HWP状态机如下所示: 下表总结了这些状态: 状态描述Passive不满足功能条件,功能无法控制车辆执行器。Standby满足功能条件。该功能不是由驾驶员激活的。功能不控制车辆执行器。Active - Main功能由…

C++内存分区模型

C内存分区模型 文章目录 C内存分区模型1. 代码区2. 全局/静态存储区3. 栈区3.1 栈溢出3.2 缓冲区溢出3.3 数据不稳定3.4 栈帧重用(Stack Frame Reuse) 4. 堆区4.1 内存溢出4.2 内存泄漏4.3 多重释放与非法指针4.4 产生堆内存碎片 在执行C程序的过程中,内存大致分为四…