Kafka 3.0 相关概念介绍
Kafka 是一个事件流平台#
- 发布/订阅事件流,包括从其他系统持续导入/导出数据
- 持久/可靠地存储事件流
- 处理发生/回溯的事件流
Kafka 是一个由服务端和客户端组成的分布式系统,通过高性能TCP协议进行网络通信#
服务端#
一个或者多个server组成的集群,可以拓展成多个数据中心或者云区域
存储层的server被称为 broker
其他的server运行Kafka以事件流的方式持续导入/导出数据,整合现有系统到Kafka,例如关系型数据库和其他
客户端#
允许建立能并行读/写/处理事件流的分布式应用和微服务
Event 事件#
event 记录的是业务中存在的事实
一个 event 中有键、值、时间戳和可选的元数据头
- Event key: "Alice"
- Event value: "Made a payment of $200 to Bob"
- Event timestamp: "Jun. 25, 2020 at 2:06 p.m."
Producers 生产者 Consumers 消费者#
Producers 写/发布消息到Kafka,Consumers 从Kafka读/消费消息
生产者和消费者是完全解耦和互不相知的
Topic 主题#
事件有组织的,永久存储在 topic 中,topic 就像文件系统中的文件夹,事件就是文件夹中的文件
Kafka中的主题永远都有多个生产者和多个消费者
主题中的事件一旦需要就可以读取,不像传统的消息系统,事件被消费之后不会被删除
可以在每个主题中自定义旧事件被摒弃后,Kafka保持的事件长度
Partition 分区#
主题是被分区的,这意味着一个主题是分布在定位于不同的 broker 上的一定数量数据桶中
这种分布式数据放置提供了可伸缩性,允许客户端应用同时从许多 broker 中读/写数据
当一个新的事件发布到一个主题,实际上是放到了主题的某个分区上,同一个键的事件写入到同一个分区
Kafka保障指定主题分区的任何消费者按照写入的顺序读取分区事件
为了确保数据容错和高可用,每个主题都能被复制,复制数量是可以设置的,在主题分区级别执行
作者:BigBender
出处:https://www.cnblogs.com/BigBender/p/15744562.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2020-12-29 如何把数学作为一种工具
2020-12-29 包装类
2020-12-29 异常
2020-12-29 内部类
2019-12-29 高中数学必修1--集合与集合的表示方法