Kafka多少算高并发(看这篇就够了)

高并发是大型架构核心,下面我详解Kafka高并发@mikechen

高并发

“高并发”并不是一个固定数值,而是系统在单位时间内处理大量请求的能力。

Kafka多少算高并发(看这篇就够了)-mikechen

它主要关注两个核心指标:

QPS(Queries Per Second)/ TPS(Transactions Per Second):每秒处理请求数;

并发连接数:同一时间系统维持的活跃连接数

一般而言,不同量级的并发可粗略划分为:

并发等级 吞吐范围(TPS) 特点
普通并发 < 1,000 单体系统即可支撑
中级并发 1,000 ~ 10,000 需引入缓存、异步、数据库优化
高并发 10,000 ~ 100,000 分布式架构 + 消息队列削峰
超高并发 > 100,000 分区、分布式存储、大规模集群

所以,高并发不是具体数字,而是系统架构层面的挑战:如何让系统既快又稳地处理海量请求。

 

Kafka多少算高并发

Kafka 的设计目标:就是为“高并发消息流”而生。

Kafka多少算高并发(看这篇就够了)-mikechen

Kafka 单机就能轻松达到:

写入吞吐:50,000 ~ 100,000 条/秒;

读取吞吐:100,000+ 条/秒;

这意味着:

只要你的系统需要每秒上万条以上消息的生产、或消费能力,

那么你使用 Kafka,已经进入“高并发”场景。

而在集群环境下:

集群规模 Partition数 吞吐能力(TPS)
小型集群(3节点) 300 30~50万
中型集群(6节点) 1,000 80~120万
大型集群(10节点以上) 2,000+ 150万以上

 

Broker层高并发配置

Kafka 的 Broker 是消息存储与分发的核心,它的配置直接决定吞吐上限。

Kafka多少算高并发(看这篇就够了)-mikechen

1. 分区与副本

num.partitions=12
default.replication.factor=3

分区越多 → 并行度越高,但协调开销也增加。

一般建议:每个Broker上100~200个分区为宜。

副本数保持在 2~3,过多副本会增加同步开销。

 

2. 磁盘IO优化

Kafka多少算高并发(看这篇就够了)-mikechen

log.dirs=/data/kafka-logs
log.flush.interval.messages=10000
log.flush.interval.ms=1000;

使用SSD或高性能NVMe磁盘。

多磁盘可挂载多个 log.dirs 实现IO并行。

flush.interval 设置得大,可减少磁盘写入频率(但要兼顾可靠性)。

 

3. 网络与批量传输

socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
replica.fetch.max.bytes=1048576

增大 socket 缓冲区,避免网络阻塞。

调高 request.max.bytes,提升批量传输效率。

replica.fetch.max.bytes 影响副本同步吞吐。

 

4. 页缓存与零拷贝

Kafka 依赖 Linux 页缓存 + sendfile 实现零拷贝传输。

Kafka多少算高并发(看这篇就够了)-mikechen

操作系统层建议:

vm.dirty_ratio=60
vm.dirty_background_ratio=10
vm.swappiness=1

并关闭 swap,确保内存优先供 Kafka 缓存文件页。

mikechen睿哥

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

评论交流
    说说你的看法