核心组件和技术分区

Zookeper:集群管理 Kafka: 中间件名称

Broker: Kafka服务器实例,负责消息的存储、中转等功能⁠1⁠。

Topic: 消息的主题,Kafka按topic对消息进行分类⁠1⁠。

Partition: 分区,为了提升系统吞吐量,一个topic通常有多个partition,分布在不同的Broker上⁠1⁠。

Segment: 分段,为防止日志文件过大导致数据检索效率低下,Kafka将每个partition分为多个segment⁠1⁠。每个segment包含一个.log日志文件和两个索引文件(.index和.timeindex)⁠1⁠。

Kafka 核心组件

架构 可靠 持久化 高性能 | 腾讯云

Kafka why fast

Broker日志持久化

零拷贝 mmap sendifle

消费顺序有序性

MQ Rebalance 重平衡

单线程多线程消费

分区消费者计算

QPS 是 3000。而一个消费者处理的 QPS 是 200,那么3000÷200=15也就是说你需要 15 个分区。进一步考虑业务增长或者突发流量,可以使用 18 个或者 20 个。

新消费者上线会触发rebalance

堆积太多要重新评估消费者,分区数量