kafka的架构

一、架构图

Broker:一台 kafka 服务器就是一个 broker。一个kakfa集群由多个 broker 组成。一个 broker 可以容纳多个 topic。

Producer:消息生产者,就是向 kafka broker 发消息的客户端

Consumer:消息消费者,向 kafka broker 取消息的客户端。

Topic:可以理解为一个队列,一个 Topic 又分为一个或多个分区。一个topic可以有多个partition,每个partition可以有多个副本,一般是3个,副本分leader、follower角色

Consumer Group:这是 kafka 用来实现一个 topic 消息的广播(发给所有的 consumer)和单播(发给任意一个 consumer)的手段。一个 topic 可以有多个 Consumer Group。

Partition:为了实现扩展性,一个非常大的 topic 可以分布到多个 broker上,每个 partition 是一个有序的队列。partition 中的每条消息都会被分配一个有序的id(offset)。将消息发给 consumer,kafka 只保证按一个 partition 中的消息的顺序,不保证一个 topic 的整体(多个 partition 间)的顺序。

Offset:kafka 的存储文件都是按照 offset.kafka 来命名,用 offset 做名字的好处是方便查找。例如你想找位于 2049 的位置,只要找到 2048.kafka 的文件即可。当然 the first offset 就是 00000000000.kafka。

Kafka 是如何做到消息的有序性?

kafka 中的每个 partition 中的消息在写入时都是有序的,而且单独一个 partition 只能由一个消费者去消费,可以在里面保证消息的顺序性。但是分区之间的消息是不保证有序的。

kafka消费策略

kafka的三种语义

kafka为什么吞吐很大

相关推荐
IpdataCloud11 小时前
指纹浏览器为什么要自建IP检测?基于IP数据云离线库的架构实践
数据库·网络协议·tcp/ip·架构·edge浏览器
GeekQiaQia11 小时前
极致高效:使用 Ollama 在服务器端快速部署 BGE-M3 向量模型
架构
殷紫川12 小时前
吃透 Seata 分布式事务:原理拆解 + 生产级落地 + 全场景避坑实战
架构
星辰_mya12 小时前
ZooKeeper 分布式锁:强一致性下的“排队”哲学
分布式·zookeeper·云原生·面试·分布式锁
2501_9411495012 小时前
2026 技术展望:基于 Cosvice 架构与 N.V11.34.6 协议的全球资源调度系统白皮书
架构
踏浪无痕12 小时前
pgBackRest 本地备份与灾难恢复实战指南
架构
学到头秃的suhian13 小时前
消息队列削峰和分发
kafka
隔壁小邓13 小时前
数据库中间件全景解析:从连接管理到分布式协同
数据库·分布式·中间件
编程小风筝13 小时前
如何用redission实现springboot的分布式锁?
spring boot·分布式·后端
balmtv13 小时前
Grok 4技术架构深度拆解:四智能体辩论、78%不幻觉率与每周自迭代的工程革命
人工智能·架构