Kafka 架构

1 整体架构

在这里插入图片描述

1.1 Zookeeper

Zookeeper 是一个分布式协调服务,用于管理 Kafka 的元数据。它负责维护 Kafka 集群的配置信息、Broker 列表和分区的 Leader 信息。
Zookeeper 确保了 Kafka 集群的高可用性和可靠性。
但 Zookeeper 已经成为 Kafka 性能瓶颈,Kafka 正在逐渐去 Zookeeper 化。

1.2 Broker

每个kafka server称为一个Broker,多个borker组成kafka cluster。

1.3 Topic

Topic 是 Kafka 中用于组织数据的逻辑单元,类似于数据库中的表。
一个Broker上可以创建一个或者多个Topic。同一个topic可以在同一集群下的多个Broker中分布

1.4 Partition

Partition 是 Topic 的子单元,用于实现数据的分布式存储和并行处理。每个 Partition 是一个有序的、不可变的消息队列,新的消息追加到队列末尾。
Kafka 会为每个 Topic 维护了多个 Partition。
每个 Partition 有一个 Leader 和多个 Follower 副本。Leader 负责处理所有读写请求,Follower 副本被动地从 Leader 同步数据。如果 Leader 发生故障,Zookeeper 会选举一个新的 Leader 以保证高可用性。比如图中,Broker 1 是 Topic 1 的 Partition 1 的 Leader,是 Partition 2、3 的 Follower。

2 生产者与消费者

在这里插入图片描述

2.1 生产者

生产者是向 Kafka 发送数据的客户端应用程序。生产者将消息发送到特定的 Topic 和 Partition 中。

向 Partition 发送数据的过程:

  • 生产者根据分区策略(如轮询、哈希分区键)选择目标 Partition
  • 生产者将消息发送到选定的 Partition,Leader 接收到消息后将其追加到日志中。
  • 生产者可以选择等待 Leader 确认消息已写入并复制到一定数量的 Follower 后再继续发送下一个消息,以确保数据可靠性。

2.2 消费者

消费者是从 Kafka 中读取数据的客户端应用程序。消费者订阅一个或多个 Topic,并从中消费消息。
消费者组

  • 消费者组是 Kafka 的一项功能,允许多个消费者共同消费一个 Topic 的消息。
  • 每个消费者组中的消费者都会从一个或多个 Partition 中读取消息,但同一 Partition 的消息只会被一个组内的消费者读取,以实现负载均衡。
  • 如果一个消费者挂掉,组内的其他消费者会自动接管它的分区,以确保消息不会丢失。

消费数据的过程:

  • 消费者启动时连接到Kafka集群并订阅一个或多个主题。
  • 通过poll方法,消费者从分配的分区中拉取消息并进行处理。
  • 处理完成后,消费者会提交偏移量以标识已处理的位置。
  • Kafka会在消费者数量变化时触发分区再均衡,确保每个分区都有消费者进行消费,避免数据丢失或重复消费。

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

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

相关文章

力扣155. 最小栈

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() 获取堆栈顶部的元素。 …

开发指南029-el-table-column对齐属性

按开发文档和正常理解,el-table-column具有属性align,可以填left,center,right控制内容的对齐方式。你真正做的时候,就会发现根本不起作用。 查网络,大部分怀疑你用错属性了,elment-ui版本不对&…

SmartDraw Suite Edition 画图软件画表格内存示意图的使用方法

总述:遇到不会画的,比如如何画一条虚线,先将 虚线 翻译成英文,然后在 help 中查询。 新建的时候选择如下: 一、选择 Forms->Blank Form 二、画表格: 三、画箭头:先选择1在选择2 四、编辑文…

ASUS华硕ROG幻14Air笔记本GA403UI(UI UV UU UJ)工厂模式原厂Windows11系统安装包,带MyASUS in WinRE重置还原

适用型号:GA403UI、GA403UV、GA403UU、GA403UJ 链接:https://pan.baidu.com/s/1tz8PZbYKakfvUoXafQPLIg?pwd1mtc 提取码:1mtc 华硕原装WIN11系统工厂包带有ASUS RECOVERY恢复功能、自带面部识别,声卡,显卡,网卡,蓝牙等所有驱动、出厂主题…

Stable Diffusion避坑指南

Stable Diffusion是一个先进的扩散模型,它在图像生成领域取得了显著的进步。 网络上关于Stable Diffusion的教程和模型,数不胜数。 在使用Stable Diffusion时,可能会遇到一些问题和挑战。以下是一份避坑指南,帮助用户避免常见的…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 6月9日,星期日

每天一分钟,知晓天下事! 2024年6月9日 星期日 农历五月初四 1、 人社部:个人养老金开户人数已超6000万,其中31岁至40岁的中高收入人群是开户、缴费和购买产品的主力军。 2、 医保局刊文:研究显示集采仿制药替代原研药…

VSC++: 民意调查比例法

void 民意调查比例法() {//缘由https://bbs.csdn.net/topics/396521294?page1#post-411408461从题目描述看:902/3~300.7,1498/5~299.6也就是大约求2个数的公约数,并使得这个公约数尽量求出最小误差?且商小于某值。int a 0, aa …

物理安全防护如何创新强化信息安全体系?

物理安全防护是信息安全体系的重要组成部分,它通过保护实体设施、设备和介质等,防止未授权访问、破坏、盗窃等行为,从而为信息系统提供基础的安全保障。要创新强化信息安全体系中的物理安全防护,可以从以下几个方面着手&#xff1…

VBA高级应用30例应用2实现在列表框内及列表框间实现数据拖动

《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以…

Facebook:社交世界的引领者

导语 在当今数字化时代,Facebook已经成为了人们社交生活的重要一环。然而,除了成为社交媒体的象征外,它还在不断探索并领导着社交世界的新方向。 1. 社交平台的发展者 Facebook不仅仅是一个社交平台,更是社交方式的引领者。从其…

MathType7.8永久破解版下载 让数学学习变得简单有趣!

大家好,我是科技评论家。今天给大家推荐一款非常实用的数学公式编辑器——MathType 7.8!📱💰 在数字化时代,学术研究、教学和科研领域中的数学公式编辑需求越来越高。而MathType 7.8作为一个广受欢迎的数学公式编辑器&…

swaks一键启动邮箱信息测试(KALI工具系列十九)

目录 1、KALI LINUX 简介 2、swak工具简介 3、临时邮箱 4、操作实例 4.1 测试邮箱连通性 4.2 假冒发送方 4.3 发送文件 5、总结 1、KALI LINUX 简介 Kali Linux 是一个功能强大、多才多艺的 Linux 发行版,广泛用于网络安全社区。它具有全面的预安装工具和功…

MSP432E401Y Launchpad硬件电路

MSP432E401Y是一款32位Arm Cortex-M4F内核的MCU,主频120MHz、256KB SRAM、1MB Flash、6KB EEPROM,具有丰富的通信外设,例如支持以太网、2个CAN、8个UART、4个QSSI(SPI)、10 个I2C; 同时还有2个12 位SAR的ADC模块,每个模块支持高…

探索智慧景区的总体架构与应用

背景: 在旅游业快速发展的今天,智慧景区已成为提升景区管理水平、提高游客体验的重要手段之一。智慧景区系统的总体架构设计与应用,将现代信息技术与景区管理相结合,为景区的运营管理和游客服务提供了新的思路和解决方案。本文将…

【诈骗离你我很近】中国同胞进来看看国外诈骗新套路。

前几天一个老外经常在CSDN给我发消息,我最开始很警惕,不过聊了大概半个月,我就没怎么怀疑他了,而且还很高兴认识了一个外国朋友。这半个月聊天内容很正常,就聊些中国的小习惯,让我教他用筷子。还问我有哪些…

【BUG】已解决: No module named ‘torch._six

已解决:No module named ‘torch._six 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,目前是武汉城市开发者社区主…

【Flutter 面试题】 JIT 与 AOT分别是什么?

【Flutter 面试题】 JIT 与 AOT分别是什么? 文章目录 写在前面口述回答写在前面 🙋 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云社区专家博主,51CTO专家博主。2023博客之星TOP153。 👏🏻 正在学 Flutter 的同学,你好! 😊 Flutter 面试宝典(…

GPT-4欺骗人类的惊人成功率达99.16%!

PNAS重磅研究揭示,LLM推理能力越强欺骗率越高!! 此前,MIT的研究发现,AI在各类游戏中为了达到目的,不择手段,学会用佯装和歪曲偏好等方式欺骗人类。 GPT-4o深夜发布!Plus免费可用&…

【面经分享-CPP篇】[建议收藏] C++基础20问-02

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新c面试基础 👏 感谢大家的订阅➕ 和 喜欢💗 文章目录 1.题目:解释C中的深拷贝和浅拷贝。2.题目:解释C中的虚基类及其用途。3.题目&…

C++中的模板---下

一,非类型模板参数 模板参数分类类型形参与非类型形参 类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参…