Kafka集群实例
Kafka集群实例规格
Kafka集群实例由三个及以上代理组成,兼容开源Kafka 1.1.0、2.7和3.x。
TPS(Transaction per second),在Kafka场景中,指每秒能写入到Kafka实例的最大消息数量。下表中TPS性能,是指以1KB大小的消息为例的每秒处理消息条数。测试场景为连接内网访问明文接入、磁盘类型为超高I/O的实例。如果您想要了解更多关于TPS的性能,请参考测试Kafka实例TPS。
规格名称 |
代理个数范围 |
单个代理TPS |
单个代理分区上限 |
单个代理建议消费组数 |
单个代理客户端总连接数上限 |
存储空间范围(GB) |
单个代理流量规格(MB/s) |
---|---|---|---|---|---|---|---|
kafka.2u4g.cluster.small |
3~30 |
20000 |
100 |
15 |
2000 |
300~300000 |
40 |
kafka.2u4g.cluster |
3~30 |
30000 |
250 |
20 |
2000 |
300~300000 |
100 |
kafka.4u8g.cluster |
3~30 |
100000 |
500 |
100 |
4000 |
300~600000 |
200 |
kafka.8u16g.cluster |
3~50 |
150000 |
1000 |
150 |
4000 |
300~1500000 |
375 |
kafka.12u24g.cluster |
3~50 |
200000 |
1500 |
200 |
4000 |
300~1500000 |
625 |
kafka.16u32g.cluster |
3~50 |
250000 |
2000 |
200 |
4000 |
300~1500000 |
750 |
实例规格和网络带宽说明
Kafka实例的网络带宽主要由以下两个部分组成:
- 实例Broker对应的网络带宽
- 实例Broker的磁盘所对应的带宽值(不同类型的磁盘对应的带宽值不同,具体参考:如何选择磁盘类型)
注意事项:
- Kafka默认情况下测试均为尾读场景(即仅消费最新生产的数据),而不是冷读场景(即从头开始消费历史数据的场景)。
- 老规格实例(即实例规格为100MB/s等)的带宽指的是实例所有Broker对应的网络带宽总和
新规格实例(即实例规格为kafka.2u4g.cluster等)的流量规格测算模型说明如下:
- 测试模型读写比例为1:1
- 默认Topic的副本数为3
- 实例网络总流量 = 单个代理流量规格 * 代理数量
- 实例整体流量 = 业务流量 + 代理节点间数据复制流量
参考上述测算模型说明,假如当前规格为kafka.2u4g.cluster,单个代理流量规格为100MB/s,代理数量为3,实例网络总流量、最大读流量和最大写流量分别为多少?
- 实例网络总流量 = 单个代理流量规格 * 代理数量 = 100MB/s * 3 = 300MB/s
- 最大读流量 = 实例网络总流量 / 默认副本数 / 2 = 300MB/s / 3 / 2 = 50MB/s
- 最大写流量 = 实例网络总流量 / 默认副本数 / 2 = 300MB/s / 3 / 2 = 50MB/s
新老规格对应关系
2种Kafka实例规格对比,新老规格的对应关系如表2所示。
老规格 |
对应的新规格 |
||
---|---|---|---|
规格类型 |
实例网络总流量 |
规格类型 |
实例网络总流量 |
100MB/s |
100MB/s |
kafka.2u4g.cluster.small * 3 |
120MB/s |
300MB/s |
300MB/s |
kafka.2u4g.cluster * 3 |
300MB/s |
600MB/s |
600MB/s |
kafka.4u8g.cluster * 3 |
600MB/s |
1200MB/s |
1200MB/s |
kafka.4u8g.cluster * 6 |
1250MB/s |
新老规格区别如下:
- 老规格使用的非独享资源,在高负载情况下容易出现资源抢占情况。新规格(kafka.2u4g.cluster.small除外)使用的独占资源,性能更优,性价比更高。
- 新规格支持最新的功能,例如:分区平衡、动态开启SSL、重平衡日志可观测等。
- 新规格支持规格灵活变更,例如:Broker规格的扩缩容。
- 新规格的磁盘大小选择更加灵活,磁盘大小不与实例规格进行绑定,仅与Broker数量相关。
- 新规格选择粒度更细,根据Broker规格和数量进行灵活的规格选择,并且最大规格可以达到10000MB/s以上。
- 新规格除了原有的磁盘类型,还支持通用型SSD、极速型SSD等多种磁盘类型,客户选择更加灵活。
Kafka实例规格参考
- kafka.2u4g.cluster.small,三个代理
- kafka.2u4g.cluster,三个代理
- kafka.4u8g.cluster,三个代理
- kafka.8u16g.cluster,三个代理
- kafka.12u24g.cluster,三个代理
- kafka.16u32g.cluster,三个代理
Kafka实例的存储空间估算参考
Kafka实例支持多副本存储,存储空间用于存储消息(包括副本中的消息)、日志和元数据。您在创建Kafka实例,选择初始存储空间时,建议根据业务消息体积预估、副本数量以及预留磁盘大小选择合适的存储空间。每个Kafka代理会预留33GB的磁盘空间,用于存储日志和元数据。
例如:业务消息体积预估100GB,副本数为2,Kafka实例的代理数为3,则磁盘容量最少应为100GB*2+33GB*3=299GB。
Kafka实例支持对存储进行扩容,根据业务增长,随时扩容,节约成本。