弹性策略

本文介绍Serverless实例的弹性能力、定时策略及注意事项。

前提条件

创建并部署云消息队列 Kafka 版Serverless实例,且实例处于服务中状态。

弹性能力

为应对生产环境中多阶梯的流量需求,云消息队列 Kafka 版Serverless实例提供弹性伸缩流量规格的能力,您可以通过升配和降配修改发送、订阅能力预留。

弹性上限

您可发送和订阅的弹性上限是预留规格的2倍,随着预留规格的变更而变化。

例如,发送能力预留是30 MB/s,对应的发送流量上限是60 MB/s,超过60 MB/s阈值的发送流量会被限流。

定时策略

变更对象

  • 定时策略用于定时变更发送能力预留、订阅能力预留的大小。当短期流量峰值大于弹性上限值时,建议通过配置定时任务,定时变更发送能力预留、订阅能力预留的大小,快速响应秒级超大流量的请求。

  • 实例的发送和订阅的弹性上限始终是预留规格的2倍,随着预留规格的变更而变化。

    例如,您设置了定时策略,在每天8:00-9:00将发送能力预留从30 MB/s修改为100 MB/s,则每天8:00-9:00的发送流量上限是200 MB/s。其他时间段的发送流量上限仍为60 MB/s。

变更影响

  • 由于在升配或降配期间,集群节点数会相应增加或减少,客户端会和部分节点短暂断开连接并重连,重新负载均衡,可能会造成少量报错。建议您在客户端配置重试机制,将变更期间发送失败的消息重试发送。

  • 变更过程中,整体服务不受影响。

生效时间

  • 为保障在预留规格生效时间内升降配至预设容量,服务端会在生效时间开始之前执行升降配任务,建议提前配置定时任务保障足够的升降配执行时间。

  • 服务端会在生效时间结束之后执行降配任务。

  • 为避免服务端不停地执行升配、降配任务,两个定时任务之间的时间间隔应大于60分钟。

  • 如果创建任务时,预估执行时间早于当前时间,那么不重复任务将不会被执行,重复任务会跳过该周期执行。

增加定时任务

  1. 登录云消息队列 Kafka 版控制台,在概览页面的资源分布区域,选择地域。

  2. 实例列表页面,单击目标实例名称。

  3. 实例详情页面,单击弹性策略页签。

  4. 定时策略区域,单击添加定时任务,在新增定时策略面板,设置以下参数,单击确认。

    • 策略名称:设置策略名称。

    • 预留生产规格:设置定时任务时间段的生产规格。

    • 预留消费规格:设置定时任务时间段的消费规格。

    • 重复规则

      • 不重复:设置定时任务的时间,格式为yyyy-MM-dd HH:mm,只能选择当前时间1小时后的时间,最多能提前7天预约该定时任务。任务开始和结束之间的时长范围为[30分钟, 7天]。

      • 每天:当定时任务频率为每天时,请按照HH:mm格式设置任务时间,任务开始和结束之间的时长范围为[30分钟, 12小时]。

      • 每周:当定时任务频率为每周时,可选择每周中的其中几天,请按照HH:mm格式设置任务时间,任务开始和结束之间的时长范围为[30分钟, 12小时]。

    • 预留规格生效时间:按照上述重复规则中的任务开始和结束之间的时长范围设置预留规格生效时间。

      重要

      为保障在预留规格生效时间内升降配至预设容量,两次定时策略之间的时间间隔应大于60分钟。

    定时任务创建成功后,可在实例详情页面的弹性策略页签中查看定时策略详情,包括预留生产规格、预留消费规格、规格生效时间、预计升配时间等。