上篇文章介绍了kafka配置文件,这篇我们来探讨一下kafka服务器的硬件配置优化
磁盘吞吐量(重要,影响生产者)磁盘容量(制约集群规模)
生产者客户端的性能直接受到服务器端磁盘吞吐量的影响。 需要多大的磁盘容量取决于需要保留的消息数量,也需要考虑集群复制策略的影响。
磁盘类型和容量规划
1.磁盘类型
HDD VS SSD
机械磁盘(HDD) 一般机械磁盘寻道时间是毫秒级的,若有大量随机I/O,则将会出现指数级的延迟,但是kafka是顺序读写的,因此对于机械磁盘的性能也是不弱的,所以,基于成本问题可以考虑。
固态硬盘(SSD) 读写速度可观,没有成本问题可以考虑。
JBOD VS RAID10
JBOD (Just Bunch Of Disks ) 经济实惠的方案,对数据安全级别不是非常非常高的情况下可以采用,建议用户在Broker服务器上设置多个日志路径,每个路径挂载在不同磁盘上,可以极大提升并发的日志写入速度。
RAID 磁盘阵列 常见的RAID是RAID10,或者称为(RAID 1+0) 这种磁盘阵列结合了磁盘镜像和磁盘带化技术来保护数据,因为使用了磁盘镜像技术,使用率只有50%,在加上kafka的副本数,磁盘利用率将会很低
2 .磁盘容量规划
平台按每天产生一亿条消息处理,假设副本为2,数据保留7天,每条消息大小为1K,那么每天消息总量为:1亿 乘 2 乘 1