本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
如果您的云消息队列 Kafka 版实例的公网流量消耗远小于购买的公网流量配置,或者分区的使用量远小于购买的分区数量,您可以降低公网流量和分区数量配置,从而节约成本。本文介绍如何在云消息队列 Kafka 版控制台降低实例的公网流量、分区数量、流量规格和磁盘容量。
前提条件
降低实例的磁盘容量及流量规格功能目前尚在灰度中。
从稳定性考虑,原则上不支持同时进行跨度较大的流量规格降配和磁盘容量降配。
实例处于服务中或未部署状态。
启用公网的实例,公网流量应大于最低带宽3 Mbps。
实例中没有进行中的Topic引流任务。
目标分区数量大于已使用分区数量。
目标流量规格及磁盘容量高于当前使用量的1.3倍。
注意事项
降低实例配置可能会出现重启风险、限速风险和禁写风险。Serverless实例降低配置期间会额外增加暂停弹缩风险。
降低流量规格和磁盘容量之前,务必先查看监控,明确过去一段时间的峰值使用情况(建议您查看7天内的峰值数据),根据峰值谨慎评估目标降低数值,如评估不当,降配操作会影响在线业务的SLA。更多信息,请参见查看云监控数据。
重启风险:降低实例配置会引发集群逐台重启,可能会出现如下风险:
客户端会短暂断开连接并重连,可能会造成少量报错。
已经发送成功的消息,降低配置之后不会丢失。降配期间发送失败的消息,建议重试发送,可在客户端配置重试机制。
降配预计持续约30分钟,降配的磁盘容量跨度越大,耗时越长。服务不会中断,可能会导致消费的分区消息发生乱序,请谨慎评估业务影响,建议您在业务低峰期降低实例配置。
限速风险:目标降低流量规格评估不当,可能会出现如下风险:
目标流量规格低于已使用流量的1.3倍,高峰可能被限速。
目标流量规格低于已使用流量值,会立即被限速。
高QPS的实例,降低流量规格会导致请求集中,单次请求耗时增长,可能超出kafka客户端配置的
SESSION_TIMEOUT_MS_CONFIG
。说明在单次降配中,建议您最多降至购买时流量规格的50%,观察业务运行稳定后再行降配。例如,您购买了流量规格为alikafka.hw.30xlarge的实例,想要降至alikafka.hw.9xlarge,建议您先降至alikafka.hw.16xlarge,观察降配后业务稳定再降至alikafka.hw.9xlarge。
禁写风险:目标降低磁盘容量评估不当,可能会出现如下风险:
目标磁盘容量大小低于已使用磁盘量的1.3倍,高流量实例可能很快就会写满,进而提前删除数据和禁写。
目标磁盘容量大小低于已使用磁盘量,会触发禁写。
数据风险:当磁盘水位较高且持续高流量写入时,为保证稳定性可能产生提前删除数据截断风险。
稳定性风险:由于云盘原生不支持容量降配,云消息队列 Kafka 版实现磁盘容量降配需要额外消耗集群CPU,磁盘IO。处于较高资源使用水位的实例,执行磁盘容量降配可能产生稳定性风险。建议执行磁盘降配前,先检查实例是否存在未治理的实例风险项,进行治理使实例达到较为健康的状态后再执行。
暂停弹缩风险:Serverless实例升降配期间,暂停弹性伸缩,请确保在业务用量平稳期间操作。
适用场景及风险点
场景 | 风险 |
云消息队列 Kafka 版非Serverless实例的流量使用量持续低于购买时的流量规格,需要降低实例的流量规格。 | 当前业务可能会被限速,请参见上文注意事项中的限速风险。 |
云消息队列 Kafka 版非Serverless实例的磁盘使用率过小,需要缩小磁盘容量。 | 当前业务可能会被禁写,请参见上文注意事项中的禁写风险。 |
云消息队列 Kafka 版非Serverless实例变更分区数或Topic数。降低后的数量不低于实际使用量。 说明 新购实例仅支持变更分区数,2022年08月26日之前购买的实例支持变更Topic数。 | 无。 |
云消息队列 Kafka 版非Serverless实例下调公网带宽。 | 无。 |
云消息队列 Kafka 版Serverless实例下调保底用量计费规格。 | 降低后会暂停弹缩。 |
操作步骤
在概览页面的资源分布区域,选择地域。
在实例列表页面,单击目标实例名称。
在实例详情页面,单击概览区域右上角的降配。
在降配面板。设置公网流量、分区规格、流量规格和磁盘容量,阅读并选中服务协议,然后单击立即购买。
重要为了避免因带宽不足触发网络限制,云消息队列 Kafka 版会根据您选择的实例规格,评估出最佳带宽大小,请您根据界面提示,按一定倍数购买公网流量。
降低后的分区数量不能低于实际使用的分区数量。
当集群当前CPU等资源使用率较高时,为保证稳定性,降配页面会限制流量规格降配。
在专业版(高写版)/专业版(高读版)实例中,仅alikafka.hw.60xlarge/alikafka.hr.60xlarge以下流量规格的实例支持降低流量规格,alikafka.hw.60xlarge/alikafka.hr.60xlarge及以上流量规格的实例暂不支持降低流量规格。
降低实例配置时,如果不涉及磁盘降配,所需的时间取决于实例规模,alikafka.hr.30xlarge或alikafka.hw.30xlarge及以下规格预计持续约30分钟、alikafka.hr.60xlarge或alikafka.hw.60xlarge及以上规格预计持续1小时以上,一般情况下,实例规格越大,持续时间越长。如果需要磁盘降配,由于涉及历史数据拷贝,耗时会变长,时长与磁盘数据量正相关。
在实例详情页面的基础信息区域,实例状态更新为升级中。待降配完成后,显示降级后的规格。