高并发是大型架构核心,下面我详解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 单机就能轻松达到:
写入吞吐: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 是消息存储与分发的核心,它的配置直接决定吞吐上限。

1. 分区与副本
num.partitions=12 default.replication.factor=3
分区越多 → 并行度越高,但协调开销也增加。
一般建议:每个Broker上100~200个分区为宜。
副本数保持在 2~3,过多副本会增加同步开销。
2. 磁盘IO优化

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 实现零拷贝传输。

操作系统层建议:
vm.dirty_ratio=60 vm.dirty_background_ratio=10 vm.swappiness=1
并关闭 swap,确保内存优先供 Kafka 缓存文件页。
mikechen睿哥
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。