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为什么吞吐很大

相关推荐
踩坑小念8 分钟前
秒杀场景下如何处理redis扣除状态不一致问题
数据库·redis·分布式·缓存·秒杀
qq_312920112 小时前
Nginx+Keepalived双主架构:消除单点故障的最佳实践
运维·nginx·架构
yumgpkpm2 小时前
2026软件:白嫖,开源,外包,招标,晚进场(2025年下半年),数科,AI...中国的企业软件产业出路
大数据·人工智能·hadoop·算法·kafka·开源·cloudera
Jia ming4 小时前
内存架构解析:UMA与NUMA对比
架构
笃行客从不躺平4 小时前
Token 复习
java·分布式·spring cloud
爱内卷的学霸一枚4 小时前
现代微服务架构实践:从设计到部署的深度解析
windows·微服务·架构
迎仔4 小时前
13-云原生大数据架构介绍:大数据世界的“弹性城市”
大数据·云原生·架构
u0104058365 小时前
分布式淘客系统的配置中心设计:Nacos在多环境配置管理的应用
分布式
迎仔7 小时前
01-Hadoop 核心三剑客通俗指南:从“单机搬砖”到“包工队”
大数据·hadoop·分布式
ALex_zry7 小时前
分布式缓存与微服务架构的集成
分布式·缓存·架构