更新时间:2023-05-06 GMT+08:00

创建流控

操作场景

本章节指导您在控制台对用户或者客户端进行流量控制,控制生产/消费消息的上限速率。

操作影响

  • 当流控值达到上限后,会导致生产/消费的时延增大。
  • 设置的流控值较小且生产者速率较大时,可能会造成生产超时、消息丢失,导致部分消息生产失败。
  • 初始生产/消费的流量较大,如果设置一个较小的流控值,会导致生产/消费的时延增大、部分消息生产失败。建议逐次减半设置流控值,待生产/消费稳定后继续减半设置,直到设置为目标流控值。例如初始生产流量100MB/s,可先设置生产流控为50MB/s,待稳定后再修改为25MB/s,直到目标流控值。

前提条件

  • 如果需要对用户进行流量控制,请在创建Kafka实例时,开启SASL_SSL功能。然后在控制台的“用户管理”页面,获取用户名。
  • 如果需要对指定客户端进行流量控制,请在客户端配置中获取client ID。

创建用户/客户端流控

  1. 登录管理控制台。
  2. 在管理控制台左上角单击,选择区域。

    请选择Kafka实例所在的区域。

  3. 在管理控制台左上角单击,选择“应用服务 > 分布式消息服务 Kafka”,进入分布式消息服务Kafka专享版页面。
  4. 单击Kafka实例的名称,进入实例详情页面。
  5. 在左侧导航栏单击“流控管理”,进入流控列表页面。
  6. 在页面左上角单击“新建流控”,弹出“新建流控”对话框。
  7. 设置流控参数。

    表1 流控参数说明

    参数名称

    说明

    user名称

    输入指定用户名,对此用户进行流控。如果需要对所有用户进行流控,在“user名称”后,单击“选择默认”。

    流控创建完后,无法修改“user名称”。

    client ID

    输入指定客户端ID,对此客户端进行流控。如果需要对所有客户端进行流控,在“client ID”后,单击“选择默认”。

    流控创建完后,无法修改“client ID”。

    生产上限速率

    设置生产上限速率,单位为B/s。为空时,表示不设置速率。

    消费上限速率

    设置消费上限速率,单位为B/s。为空时,表示不设置速率。

    • 未开启SASL的实例,在“新建流控”对话框中,不显示“user名称”。
    • “user名称”和“client ID”不可同时为空。
    • “生产上限速率”和“消费上限速率”不可同时为空。

  8. 单击“确定”,跳转到“后台任务管理”页面,当流控任务的“状态”为“成功”时,表示流控创建成功。

    进入“流控管理”页面,在页面右上角单击“user”、“client”、“user-client”或者,查看新创建的流控。

    • 选择“user”表示查看只进行用户流控的流控列表。
    • 选择“client”表示查看只进行客户端流控的流控列表。
    • 选择“user-client”表示查看同时进行用户和客户端流控的流控列表。