有人说:他曾在一台配置较好的机子上对
Kafka
进行性能压测,压测结果是Kafka
单个节点的极限处理能力接近每秒2000万
条消息,吞吐量达到每秒600MB
。
那 Kafka
为什么这么快?如何做到这个高的性能?
本篇文章主要从这 3 个角度来分析:
- 生产端
- 服务端
Broker
- 消费端
先来看下生产端发送消息,Kafka
做了哪些优化?
(1)生产端 Producer
先来回顾下 Producer
生产者发送消息的流程:
- 首先指定消息发送到哪个
Topic
。 - 选择一个
Topic
的分区partitiion
,默认是轮询来负载均衡。也可以指定一个分区
key