【kafka】五、kafka工作流程

news2025/7/18 5:09:53

kafka工作流程

工作流程

kafka中消息是以topic进行分类的,生产者生产消息,消费者消费消息,都是面向topic的。

topic是逻辑上的概念,而partition是物理上的概念,每一个partition对应一个log文件,该log文件中存储的是producer生产的数据。producer生产的消息会被不断的追加到该log文件末端,且每条数据都有自己的offset。消费者组中的每个消费者,都会实时记录自己消费到了哪个offset,以便出错恢复时,可以从上次的位置继续消费。

在这里插入图片描述

进入到kafka的数据目录,再进入到对应的分区中就可以看到数据文件了:

image-20220106213307978

文件存储

image-20220106213608766

由于生产者生产的消息会不断的被追加到log文件末尾,为防止log文件过大导致的数据定位效率低下,kafka采用了分片索引机制,将每个partition分为多个segment。每个segment对应两个文件——.log文件和.index文件,这些文件位于同一个文件夹(topic名称+分区序号)下。比如创建topic:first,共3个分区,则会在kafka配置的数据存储目录创建:first-0,first-1,first-2三个文件夹,且每个文件夹下都会有如图所示的文件数据:

image-20220106213307978

index和log文件是以当前segment的第一条消息的offset命名的。

“.index"文件存储大量的索引信息,”.log"文件存储大量的数据,索引文件中的元数据指向对应数据中message的物理偏移地址。

//todo 画个图 index和log详解,画的可能不太准确

image-20220117123727102

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/36208.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基建融资与预算软约束(2015年A股大牛市与“流动性堰塞湖”)-中国视角下的宏观经济

基建融资与预算软约束(2015年A股大牛市与“流动性堰塞湖”) – 潘登同学的宏观经济学笔记 文章目录基建融资与预算软约束(2015年A股大牛市与“流动性堰塞湖”) -- 潘登同学的宏观经济学笔记2015年A股大牛市定向宽松的货币政策导向定向宽松的货币政策原因投资项目的预算软约束政…

python基础之循环嵌套

文章目录一、break和continue二、while的循环嵌套知识点print:例题1打印星星:例题2打印九九乘法表一、break和continue break当某一条件满足时直接跳出当前循环; continue当某一条满足时,不执行后续循环重新开始新一轮循环; i1 …

[附源码]java毕业设计婴幼儿玩具共享租售平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

python基础之字典

文章目录一、字典1.dictionary(字典)2.和列表的区别:二、实例三、应用场景一、字典 1.dictionary(字典) 是除了列表之外最灵活的数据类型,字典同样可以用来存储多个数据(通常用于存储描述一个物体的相关信息); 2.和…

数据分析软件的使用

一 数据分析概述 1 概念 数据分析是利用数学,统计学理论相结合的科学统计分析方法,对Excel数据,数据库中的数据,收集的大量数据,网页抓取的数据进行分析,从中提前有价值的信息并形成结论进行展示的过程。…

用于调整PID控制器增益的遗传算法的实现(Matlab代码实现)

🍒🍒🍒欢迎关注🌈🌈🌈 📝个人主页:我爱Matlab 👍点赞➕评论➕收藏 养成习惯(一键三连)🌻🌻🌻 🍌希…

第八章 兼容多种模块标准的软件包封装

第八章 如何封装兼容多种JS模块标准的软件包? 为了方便用户使用,一款成熟的类库都会提供多种模块封装形式,比如大家最常用到的 Vue,就提供了cjs、esm、umd 等多种封装模式,并且还会提供对应的压缩版本,方便…

Python异或运算符示例

目录 异或 异或的性质 示例1:值交换 示例2:找出现一次的元素 示例2代码: 异或 英文为exclusive OR,缩写成xor,符号是^ aba^b0假0假0假0假1真1真1真0假1真1真1真0假 异或的性质 1、a ^ a0 任何数字和自己异或结…

Java项目:JSP蛋糕甜品店管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为前后台,分为管理员与普通用户两种角色,管理员登录后台,普通用户登录前台; 管理员角色…

Zookeeper

文章目录Zk介绍特点数据结构应用场景Zk安装、集群下载、启动配置参数解读Zookeeper 集群操作选举机制(面试重点)客户端命令行操作客户端界面节点类型(持久 / 短暂 / 有序号 / 无序号)监听器1)节点的值变化监听2&#x…

【通信】基于matlab模拟室内VLC模型(含BER和SNR)附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

短视频平台如何保证内容安全问题?

本文首发于:行者AI谛听 近些年,短视频的安全意识越来越强,随着各大平台的用户暴增,平台的一些审核及运营都有着巨大的挑战。那么对于平台来说,如何保证内容安全呢? 很多短视频平台的内容有着爆炸式的增长&a…

Vue3动态路由(Vite+Vue3+TS+Mock)

一、动态路由简介 Vue通过路由进行页面管理,不同的路由绑定到不同的页面。一般来说,前端直接写好的路由为静态路由,在不修改代码的情况下,路由表是不会改变的。对于不需要动态改变路由表的网站,静态路由就已经足够了&…

关于数据治理工具的选型,你了解多少?

数据治理的本质是盘点数据资产、治理数据质量,实施数据全生命周期的管理,这里面包括了建组织、立制度或者使用一款数据治理的软件帮助企业开展数据治理的相关工作等等。根据不同的数据治理项目特点,会用到不同的技术或工具。拥有一套趁手好用…

功率放大器的三种类型是什么意思

很多人都知道功率放大器,但是却不知道同样都是功率放大器,但是名字相同,作用却是完全不同的,总是会有工程师发出这样的疑问“功率放大器的三种类型是什么以及功率放大器怎么选择型号”等等,今天就请安泰电子来为我们解…

SpringBoot整合Alibaba-Dubbo和Apache-Dubbo

文章目录1 Alibaba整合Dubbo1.1 服务提供者1.1.1 服务提供者接口1.1.2 服务提供者实现类1.1.2.1 项目结构图1.1.2.2 pom.xml1.1.2.3 服务实现类1.1.2.4 配置文件1.1.2.5 启动类1.2 服务消费者1.2.1 项目结构图示1.2.2 请求入口1.2.3 配置文件1.2.4 启动类2 Apache整合Dubbo2.1 …

Pytorch学习笔记(四)官方60min入门教程之图像分类器

你已经了解了如何定义神经网络,计算损失值和网络里权重的更新。 现在你也许会想应该怎么处理数据? 通常来说,当你处理图像,文本,语音或者视频数据时,你可以使用标准 python 包将数据加载成 numpy 数组格式…

Web3中文|10月份超48%的以太坊NFT交易额是假的

来源 | cryptoslate 编译 | BoweniNFTnews.com 10月份全球NFT销售额超过8.5亿美元,总交易量约为300万笔。 NFT月销售额 数据来源:Footprint Analytics 在市场状况不佳的情况下,仍有大量唯一买家与卖家。10月份有超过100 万的唯一买家和卖家…

第九章 哈希表 AcWing 1532. 找硬币

第九章 哈希表 AcWing 1532. 找硬币 原题链接 AcWing 1532. 找硬币 算法标签 哈希表 双指针 思路 使用哈希表集合 用一个哈希表存储硬币。 对于每一枚硬币 x,判断在集合中是否存在 y,使得 x y m。 如果存在,则是一组解,判…

Linux Command htpasswd 创建密码文件

文章目录Linux Command htpasswd 创建密码文件1. 简介2. 安装3. 语法4. 选项5. 示例6. 其他Linux Command htpasswd 创建密码文件 1. 简介 htpasswd是Apache的Web服务器内置的工具,用于创建和更新储存用户名和用户基本认证的密码文件。 2. 安装 centos 7、 redhat&#xff…