选择分区的原则:
1.主题需要多大的吞吐量,是希望每秒写入100kb,还是1GB
2.从单个分区读取数据的最大吞吐量,数据写入数据库的速度不会超过每秒50M,所以从一个分区读数据的速度也不要超过50M
3.可以估算生产者向单个分区写入数据的吞吐量,生产者的速度一般比消费者快,最高为生产者多估算一些量。
4.每个broker包含的分区个数,可用磁盘空间和网络带宽
5.若消息按照不同的键来写入分区,那么为已有的主题新增分区就很困难
6.单个broker对分区个数是有限制,因为分区越多,占用的内存越多,完成首领的选举需要更长的时间。
使用主题吞吐量除以消费者吞吐量算出分区个数。也就是每秒从主题上写入和读取1GB的数据,并且每个消费者每秒钟可以处理50MB数据。那么至少需要20个分区,这样20个消费者同时读取这些分区,从而达到每秒1GB的数据。
如果不知道以上信息,最好把分区大小限制再25GB以内可以得到比较理想得效果。