如果您的消息队列Kafka版实例的公网流量消耗远小于购买的公网流量配置,或者分区的使用量远小于购买的分区数量,您可以降低公网流量和分区数量配置,从而节约成本。本文介绍如何在消息队列Kafka版控制台降低实例的公网流量、分区数量和磁盘容量。
前提条件
- 实例处于服务中或未部署状态。
- 启用公网的实例,公网流量应大于最低带宽3 Mbps。
- 实例中没有进行中的Topic引流任务。
- 目标分区数量大于已使用分区数量。
- 目标流量规格及磁盘容量高于当前使用量的1.3倍。
注意事项
降低实例配置可能会出现重启风险、限速风险和禁写风险。
警告 降低流量规格和磁盘容量之前,务必先查看监控,明确过去一段时间的峰值使用情况(建议您查看7天内的峰值数据),根据峰值谨慎评估目标降低数值,如评估不当,降配操作会损害在线业务的SLA。更多信息,请参见查看监控数据。
- 重启风险:降低实例配置会引发集群逐台重启,可能会出现如下风险:
- 客户端会短暂断开连接并重连,可能会造成少量报错。
- 已经发送成功的消息,降低配置之后不会丢失。降配期间发送失败的消息,建议重试发送,可在客户端配置重试机制。
- 降配预计持续约30分钟,降配的磁盘容量跨度越大,耗时越长。服务不会中断,可能会导致消费的分区消息发生乱序,请谨慎评估业务影响,建议您在业务低峰期降低实例配置。
- 限速风险:目标降低流量规格评估不当,可能会出现如下风险:
- 目标流量规格低于已使用流量的1.3倍,高峰可能被限速。
- 目标流量规格低于已使用流量值,会立即被限速。
- 高QPS的实例,降低流量规格会导致请求集中,单次请求耗时增长,可能超出kafka客户端配置的
SESSION_TIMEOUT_MS_CONFIG
。说明 在单次降配中,建议您最多降至购买时流量规格的50%,观察业务运行稳定后再行降配。例如,您购买了流量规格为alikafka.hw.120xlarge的实例,想要降至alikafka.hw.20xlarge,建议您先降至alikafka.hw.60xlarge,观察降配后业务稳定再降至alikafka.hw.20xlarge。
- 禁写风险:目标降低磁盘容量评估不当,可能会出现如下风险:
- 目标磁盘容量大小低于已使用磁盘量的1.3倍,高流量实例可能很快就写满,进而提前删除数据和禁写。
- 目标磁盘容量大小低于已使用磁盘量,会触发禁写。
适用场景及风险点
场景 | 风险 |
---|---|
消息队列Kafka版实例的流量使用量持续低于购买时的流量规格,需要降低实例的流量规格。 | 当前业务可能会被限速,请参见上文注意事项中的限速风险。 |
消息队列Kafka版实例的磁盘使用率过小,需要缩小磁盘容量。 | 当前业务可能会被禁写,请参见上文注意事项中的禁写风险。 |
消息队列Kafka版实例变更分区数或Topic数。降低后的数量不低于实际使用量。
说明 新购实例仅支持变更分区数,2022年08月26日之前购买的实例支持变更Topic数。
|
无。 |
消息队列Kafka版实例下调公网带宽。 | 无。 |
消息队列Kafka版Serverless实例下调保底用量计费规格。 | 降低后会暂停弹缩。 |