Kafka实例规格
Kafka实例兼容开源Kafka 1.1.0、2.3.0和2.7,实例规格以实例提供的ECS规格和代理个数分类,包括kafka.2u4g.cluster、kafka.4u8g.cluster、kafka.8u16g.cluster、kafka.12u24g.cluster和kafka.16u32g.cluster共5种类型。
说明
下表中TPS性能,是指以1K大小的消息为例的每秒处理消息条数。
表 Kafka实例规格
实例规格 | 代理个数范围 | 单个代理TPS | 单个代理分区上限 | 单个代理Consumer Group上限 | 单个代理客户端总连接数上限 | 存储空间范围 |
---|---|---|---|---|---|---|
kafka.2u4g.cluster | 3~30 | 30000 | 250 | 20 | 2000 | 300GB~300000GB |
kafka.4u8g.cluster | 3~30 | 100000 | 500 | 100 | 4000 | 300GB~600000GB |
kafka.8u16g.cluster | 3~30 | 150000 | 1000 | 150 | 4000 | 300GB~900000GB |
kafka.12u24g.cluster | 3~30 | 200000 | 1500 | 200 | 4000 | 300GB~900000GB |
kafka.16u32g.cluster | 3~30 | 250000 | 2000 | 200 | 4000 | 300GB~900000GB |
Kafka新老规格对应关系
2种Kafka实例规格的对应关系如下表所示。
表 Kafka新老规格对应关系
老规格 | 分区数上限(老规格) | TPS(老规格) | 对应的新规格 | 带宽(新规格) | 分区数上限(新规格) | TPS(新规格) |
---|---|---|---|---|---|---|
100MB/s(c3.large.2 * 3) | 300 | 10万 | kafka.2u4g.cluster * 3 | 225MB/s | 750 | 10万 |
300MB/s(c3.xlarge.2 * 5) | 900 | 30万 | kafka.4u8g.cluster * 3 | 450MB/s | 1500 | 30万 |
600MB/s(c3.2xlarge.2 * 5) | 1800 | 60万 | kafka.8u16g.cluster * 4 | 700MB/s | 4000 | 60万 |
1200MB/s(c3.2xlarge.2 * 10) | 1800 | 120万 | kafka.8u16g.cluster * 8 | 1400MB/s | 8000 | 120万 |
例如:客户原先有4个节点(规格为8U16G),3个副本,总分区数为10000-15000,每个节点的写流量为720Mb,读流量为7.2Gb,复制流量为90MB*2,如果使用Kafka实例,预计需要什么样的规格?费用多少?
总的写流量:720Mb34=1080MB/s,总的读流量:7.2Gb*4=3686MB/s,总的复制流量:90MB*2*4=720MB/s,总的读写流量:1080+3686+720=5486MB/s。考虑到流量预留的影响,建议读写流量按照总流量的80%估算,即总流量需要5486/80%=6857.5MB。
Kafka实例单代理(超高I/O磁盘)最大支持350MB的流量,需要的代理个数=6857.5/350=20个。Kafka实例规格为kafka.8u16g.cluster*20。kafka.8u16g.cluster单代理最大支持1000分区,客户需要10000-15000的总分区数,通过流量算出的kafka.8u16g.cluster*20规格满足要求。
kafka.8u16g.cluster单代理最小存储空间为800GB,总的存储空间为800*20=16000GB。
使用Kafka实例的费用:48600元(实例费用)+16000元(存储空间费用)=64600元/月。
Kafka实例规格参考
- kafka.2u4g.cluster,三个代理
Kafka客户端连接数在3000以内,消费组个数在60个以内,业务TPS为100000以内时推荐选用。
- kafka.4u8g.cluster,三个代理
Kafka客户端连接数在10000以内,消费组个数在300个以内,业务TPS为300000以内时推荐选用。
- kafka.8u16g.cluster,三个代理
Kafka客户端连接数在20000以内,消费组个数在600个以内,业务TPS为600000以内时推荐选用。
- kafka.12u24g.cluster,三个代理
Kafka客户端连接数在20000以内,消费组个数在600个以内,业务TPS为900000以内时推荐选用。
- kafka.16u32g.cluster,三个代理
Kafka客户端连接数在20000以内,消费组个数在600个以内,业务TPS为1200000以内时推荐选用。
Kafka实例的存储空间估算参考
Kafka实例支持多副本存储,存储空间包含所有副本存储空间总和,您在创建Kafka实例,选择初始存储空间时,建议根据业务消息体积预估以及副本数量选择合适的存储空间。
例如:业务消息体积预估100GB,则磁盘容量最少应为100GB*副本数 + 预留磁盘大小100GB。
Kafka实例支持对存储进行扩容,根据业务增长,随时扩容,节约成本。
Kafka实例Topic数量计算
Kafka实例对Topic分区数之和设置了上限,当达到上限之后,用户无法继续创建Topic。
所以,Topic数量和实例分区数上限、每个Topic的分区数有关,其中,每个Topic分区数可在创建Topic时设置,如下图,实例分区数上限参考上表。
图Topic的分区数
kafka.2u4g.cluster * 3 broker实例的分区数上限为750。
- 如果该实例下每个Topic的分区个数都为3,则Topic个数为750/3=250个。
- 如果该实例下每个Topic的分区个数都为1,则Topic个数为750/1=750个。