搞定这8个Kafka生产级容量评估,每日10亿+请求轻松拿捏

搞定这8个Kafka生产级容量评估,每日10亿+请求轻松拿捏_第1张图片

本篇文章通过场景驱动的方式来深度剖析 Kafka 生产级容量评估方案如何分析,申请和实施。

一、kafka容量评估需求场景分析

1、集群如何每天hold住10亿+请求

拿电商平台为例,kafka 集群每天需要承载10亿+请求流量数据,一天24小时,对于平台来说,晚上12点到凌晨8点这8个小时几乎没多少数据涌入的。这里我们使用「二八法则」来进行预估,也就是80%的数据(8亿)会在剩余的16个小时涌入,且8亿中的80%的数据(约6.4亿)会在这16个小时的20%时间 (约3小时)涌入。

通过上面的场景分析,可以得出如下:

QPS计算公式 = 640000000 ÷ (3 * 60 * 60) = 6万,也就是说高峰期集群需要扛住每秒6万的并发请求。

假设每条数据平均按20kb(生产端有数据汇总)来算, 那就是 1000000000 * 20kb = 18T,一般情况下我们都会设置3个副本,54T,另外 kafka 数据是有保留时间周期的, 一般情况是保留最近3天的数据,即 54T * 3 = 162T。

2、场景总结

要搞定10亿+请求,高峰期要支撑6万QPS,需要大约162T的存储空间。

二、kafka容量评估之物理机数量

1、物理机 OR 虚拟机

一般对于Kafka,Mysql,Hadoop 等集群自建的时候,都会使用物理机来进行搭建,性能和稳定性相对虚拟机要强很多。

2、物理机数量计算

第一步中我们分析得出系统高峰期的时候要支撑6万QPS,如果公司资金和资源充足的情况下,我们一般会让高峰期的QPS控制在集群总承载QPS能力的30%左右,这样的话可以得出集群能承载的总QPS能力约为20万左右,这样系统才会是安全的。

3、场景总结

根据经验可以得出每台物理机支撑4万QPS是没有问题的,从QPS角度分析,我们要支撑10亿+请求,大约需要5台物理机,考虑到消费者请求,需要增加约1.5倍机器,即7台物理机。

三、kafka容量评估之磁盘

1、机械硬盘 OR 固态硬盘SSD

两者主要区别如下:

  • SSD就是固态硬盘,它的优点是速度快,日常的读写比机械硬盘快几十倍上百倍。缺点是单位成本高,不适合做大容量存储。

  • HDD就是机械硬盘,

你可能感兴趣的:(kafka,hadoop,big,data)