赞
踩
kafka经历了 0.7,0.8,0.9,0.10,0.11,1.0,2.0等大版本,1.0以上的版本一般上是升级优化了kafka的流处理。若将kafka当做消息队列差别不大。目前我司使用的是kafka2.0版本
一般上我们使用的kafka都是Apache Kafka即社区版的
操作系统无脑选Linux
磁盘分为机械硬盘和固态硬盘,当然固态硬盘性能比机械好很多,但是kafka是追加写,所以一般使用机械硬盘其实也够用。但是具体问题具体分析
需要根据公司业务进行实际规划。需要几个数据才能衡量
比如每天1亿条消息,每条1kb,保存两份,保存两周(消息数,保存时间,备份数,消息大小)
1亿*1kb*2/100/100=200GB
再加上其他类型的数据,如索引等等,因此要多预留10%以上即220GB(预留空间)
220GB*14天=3TB
kafka支持压缩,假设压缩比是0.75(是否启用压缩)
0.75*3=2.25TB
Kafka是通过网络大量数据传输的框架,因此带宽是一个瓶颈。Kafka性能出现问题有很大程度可能是因为带宽。带宽一般使用两种 1Gbps (千兆网)和10Gbps(万兆网)。我们需要根据带宽来规划Kafka服务器的数量。
比如一个业务,需要1小时内处理1TB的业务数据,name需要多少台Kafka服务器?
每台服务器上应用最多也就70%(1.考虑不可能一台服务器就只部署一个kafka,2.当带宽占比太高了会有网络丢包的可能)。那么一台服务器大约700Mb的带宽资源。留给卡夫卡的1/3已经算很多了,那最多就是240Mbps(30MB/s,这个已经算很多了,其实可以再往下估计一点)。
1h处理1TB数据,则1s需要处理2336Mb数据。2336Mb/240Mbps =10台服务器。若总共有三个副本,则10*3=30台服务器
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。