参考答案
1. 分区多的优点
- Kafka使用分区将topic的消息打算到多个分区分布保存在不同的broker上,实现了producer和consumer消息处理的高吞吐量。
- Kafka的producer和consumer都可以多线程地并行操作,而每个线程处理的是一个分区的数据。因此,分区实际上是调优Kafka并行度的最小单元。
- 对于producer,它实际上是用多个线程并发地向不同分区所在的broker发起socket连接,同时给这些分区发送消息。
- 对于consumer,同一个消费组内的所有consumer线程,都被指定topic的某一个分区进行消费。
- 理论上,如果一个topic分区越多,整个集群所能达到的吞吐量就越大。
1.2 分区不是越多越好
- 分区越多,客户端/服务器端需要使用的内存就越多;
- 分区越多,文件句柄的开销越多;
- 分区越多,会降低高可用性。
以上,是 Kafka 面试题【Kafka的分区数是不是越多越好】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—