kafka的架构和工作原理

news2025/2/13 11:39:57

目录

Kafka 架构

Kafka 工作原理

Kafka 数据流

Kafka 核心特性

总结

Kafka 架构

1. 生产者(Producer)

2. 消费者(Consumer)

3. 主题(Topic)

4. 分区(Partition)

5. 副本(Replica)

6. 代理(Broker)

7. ZooKeeper(旧版本)/KRaft(新版本)

Kafka 工作原理

1. 消息生产

2. 消息存储

3. 消息消费

4. 领导者选举

5. 集群协调


Kafka 架构

Kafka 是一个分布式流处理平台,核心架构包括以下组件:

  1. Producer(生产者)

    • 负责将消息发布到 Kafka 的 Topic 中。

  2. Consumer(消费者)

    • 从 Topic 订阅并消费消息。

  3. Broker(服务器)

    • Kafka 集群中的每个节点都是一个 Broker,负责消息的存储和转发。

  4. Topic(主题)

    • 消息的逻辑分类,生产者将消息发送到特定 Topic,消费者从 Topic 订阅消息。

  5. Partition(分区)

    • 每个 Topic 可以分为多个 Partition,分区是 Kafka 并行处理的基本单位,每个分区是一个有序、不可变的消息序列。

  6. Replica(副本)

    • 每个 Partition 可以有多个副本,分布在不同的 Broker 上,确保数据的高可用性和容错性。

  7. Leader 和 Follower

    • 每个 Partition 有一个 Leader 副本和多个 Follower 副本,Leader 负责处理读写请求,Follower 从 Leader 同步数据。

  8. Zookeeper

    • 用于管理 Kafka 集群的元数据、Broker 状态、Leader 选举等。


Kafka 工作原理

  1. 消息发布

    • Producer 将消息发送到指定的 Topic,消息根据分区策略(如轮询、哈希等)分配到某个 Partition。

  2. 消息存储

    • 消息以追加(Append)的方式写入 Partition 的日志文件(Log Segment),Kafka 不会修改或删除已写入的消息。

  3. 消息复制

    • Leader Partition 将消息复制到所有 Follower Partition,确保数据冗余和高可用性。

  4. 消息消费

    • Consumer 从 Partition 拉取消息,每个 Consumer 属于一个 Consumer Group,组内的 Consumer 共同消费一个 Topic 的消息,每个 Partition 只能被组内的一个 Consumer 消费。

  5. Offset 管理

    • Consumer 通过 Offset 记录消费进度,Kafka 将 Offset 存储在内部 Topic(__consumer_offsets)中,确保消费状态可恢复。

  6. 日志清理

    • Kafka 提供两种日志清理策略:

      • 日志删除(Log Retention):根据时间或大小删除旧数据。

      • 日志压缩(Log Compaction):保留每个 Key 的最新值,适用于 Key-Value 场景。

  7. 高可用性

    • 通过副本机制和 Leader 选举实现高可用性。如果 Leader 失效,Zookeeper 会从 ISR(In-Sync Repl

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

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

相关文章

Xcode证书密钥导入

证书干嘛用 渠道定期会给xcode证书,用来给ios打包用,证书里面有记录哪些设备可以打包进去。 怎么换证书 先更新密钥 在钥匙串访问中,选择系统。(选登录也行,反正两个都要导入就是了)。 mac中双击所有 .p12 后缀的密钥&#xff…

Python 基于 OpenCV 的人脸识别上课考勤系统(附源码,部署教程)

博主介绍:✌2013crazy、10年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&a…

TikTok网页版访问受限?一文解析解决方案

TikTok网页版是许多用户用来浏览视频、管理账号和发布内容的重要工具。然而,部分用户可能会遇到无法打开TikTok网页版的问题,如页面加载失败、显示网络错误或提示访问受限。本文将帮助你快速排查问题,并提供解决方案,让你顺利访问…

【vs2022配置cursor】

Cursor搭配cmake实现C程序的编译、运行和调试的参考地址 cursor下载地址 第一步: 电脑上按爪cmake 第二步:cursor 配置 安装中文 第三步环境变量: D:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.35.322…

Redis 的缓存雪崩、缓存穿透和缓存击穿详解,并提供多种解决方案

本文是对 Redis 知识的补充,在了解了如何搭建多种类型的 Redis 集群,并清楚了 Redis 集群搭建的过程的原理和注意事项之后,就要开始了解在使用 Redis 时可能出现的突发问题和对应的解决方案。 引言:虽然 Redis 是单线程的&#xf…

DeepSeek-R1复现方案梳理

open-r1 项目地址:https://github.com/huggingface/open-r1 由huggingface组建,目前刚上线2周,发布了最新进展open-r1/update-1,在MATH-500任务上接近deepseek的指标,可以在open-r1/open-r1-eval-leaderboard查看指标的…

用php tp6对接钉钉审批流的 table 表格 明细控件 旧版sdk

核心代码 foreach ($flows[product_list] as $k>$gift) {$items_list[] [[name > 商品名称, value > $gift[product_name] ?? ],[name > 规格, value > $gift[product_name] ?? ],[name > 数量, value > $gift[quantity] ?? ],[name > 单位, v…

大模型RLHF:PPO原理与源码解读

大模型RLHF:PPO原理与源码解读 原文链接:图解大模型RLHF系列之:人人都能看懂的PPO原理与源码解读 本文直接从一个RLHF开源项目源码入手(deepspeed-chat),根据源码的实现细节,给出尽可能丰富的训…

SQLite 数据库:优点、语法与快速入门指南

文章目录 一、引言二、SQLite 的优点 💯三、SQLite 的基本语法3.1 创建数据库3.2 创建表3.3 插入数据3.4 查询数据3.5 更新数据3.6 删除数据3.7 删除表 四、快速入门指南4.1 安装 SQLite4.2 创建数据库4.3 创建表4.4 插入数据4.5 查询数据4.6 更新数据4.7 删除数据4…

5、大模型的记忆与缓存

文章目录 本节内容介绍记忆Mem0使用 mem0 实现长期记忆 缓存LangChain 中的缓存语义缓存 本节内容介绍 本节主要介绍大模型的缓存思路,通过使用常见的缓存技术,降低大模型的回复速度,下面介绍的是使用redis和mem0,当然redis的语义…

LangChain系列:LangChain基础入门教程

LangChain 是一个开源框架,旨在简化使用大型语言模型(LLM)创建应用程序的过程。它为链提供了标准接口,与许多其他工具进行了集成,并为常见应用提供了端到端的链。 LangChain 让 AI 开发人员能够基于大型语言模型&#…

修改docker内容器中的某配置文件的命令

先找到配置文件config.php find / -name "config.php" 2>/dev/null 然后用vi编辑器修改配置文件 vi /var/www/config.php 最后就是vi的基本操作,根据具体需求使用: vi 有两种主要模式: 命令模式:进入 vi 后的默认…

无人机遥感图像拼接及处理实践技术:生态环境监测、农业、林业等领域,结合图像拼接与处理技术,能够帮助我们更高效地进行地表空间要素的动态监测与分析

近年来,无人机技术在遥感领域的应用越来越广泛,尤其是在生态环境监测、农业、林业等领域,无人机遥感图像的处理与分析成为了科研和业务化工作中的重要环节。通过无人机获取的高分辨率影像数据,结合图像拼接与处理技术,…

基于Springmvc+MyBatis+Spring+Bootstrap+EasyUI+Mysql的个人博客系统

基于SpringmvcMyBatisSpringBootstrapEasyUIMysql的个人博客系统 1.项目介绍 使用Maven3Spring4SpringmvcMybatis3架构;数据库使用Mysql,数据库连接池使用阿里巴巴的Druid;使用Bootstrap3 UI框架实现博客的分页显示,博客分类&am…

Vision Transformer:打破CNN垄断,全局注意力机制重塑计算机视觉范式

目录 引言 一、ViT模型的起源和历史 二、什么是ViT? 图像处理流程 图像切分 展平与线性映射 位置编码 Transformer编码器 分类头(Classification Head) 自注意力机制 注意力图 三、Coovally AI模型训练与应用平台 四、ViT与图像…

软考高级《系统架构设计师》知识点(二)

操作系统知识 操作系统概述 操作系统定义:能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。操作系统有三个重要的作用: 管理…

DeepSeek的魔法:如何让复杂概念变得通俗易懂?

日常生活中,常常会被复杂的概念所困扰。怎么样将这些晦涩难懂的概念变得通俗易懂?当然是利用大模型帮我们解答,不过让大模型解答也需要有好的沟通提示词。  我收集整理了 2 套提示词,大家一起学习一下。  一、用推理模型解释概…

地弹噪声【信号完整性】

地弹、振铃、串扰、信号反射 地弹,就是地噪声! 低频时,地噪声主要是因为构成地线的导体有“电阻”,电路系统的电流都要流经地线而产生的电势差波动。 高频时,地噪声主要是因为构成地线的导体有“电感”,电路系统的电流快速变化地经过这个“电感”时,“电感”两端激发…

【大模型】阿里云百炼平台对接DeepSeek-R1大模型使用详解

目录 一、前言 二、DeepSeek简介 2.1 DeepSeek 是什么 2.2 DeepSeek R1特点 2.2.1 DeepSeek-R1创新点 2.3 DeepSeek R1应用场景 2.4 与其他大模型对比 三、阿里云百炼大平台介绍 3.1 阿里云百炼大平台是什么 3.2 阿里云百炼平台主要功能 3.2.1 应用场景 3.3 为什么选…

相似性图相关性重构网络用于无监督跨模态哈希

《Similarity Graph-correlation Reconstruction Network for unsupervised cross-modal hashing》 摘要1. 引言2. 相关工作2.1. 监督跨模态哈希方法2.2. 无监督跨模态哈希方法 3. 方法论3.1 问题定义3.2 特征提取3.3 模态内关系图构建3.4. 局部关系图重置3.5. 跨模态关系图构建…