限流配置

当计算引擎出现性能瓶颈、资源分配不足或需控制任务下发时间和顺序等场景时, 通过配置开发或生产环境任务的限流规则,保障系统的稳定性以及业务数据按序及时产出。本文为您介绍如何进行限流配置。

背景信息

  • 在未进行限流配置的情况下,任务是否可以运行主要受到上游依赖、定时运行时间以及调度资源的影响,满足上述条件即下发,但可能出现以下问题:

    • 批量补数据场景下,如果圈选的时间周期过长,会抢占调度资源,影响周期任务或即席查询等任务的正常运行及业务数据产出。

    • 低优先级任务比高优先级任务更早满足运行条件并下发至计算引擎,占用大量计算资源,影响高优先级任务运行。

    • 集群调度资源或底层计算资源有限,可能导致大规模的任务等待运行,继而引发计算引擎雪崩。

  • 具备限流配置的能力后,可以达到以下目标:

    • 控制同时下发到计算引擎侧的任务数,保证计算引擎不会出现并发过高、请求过多等原因导致的系统性崩溃,保障系统稳定性。

    • 控制高优先任务优先分配资源、优先运行,保证数据按序、及时的产出。

使用限制

  • 已购买智能运维增值服务并且当前租户已开通智能运维模块。

  • 在进行限流配置前,需要关注以下限制:

    • 目前仅支持离线任务限流配置,不支持实时任务(包括实时计算任务和实时集成任务)。

    • 最多创建50条限流规则。

  • 开启数据服务标签在线服务的高可用但未购买智能运维时,仅支持1条限流规则。

权限说明

支持限流配置操作角色的权限说明如下表所示。

操作

角色

新增、批量操作

超级管理员、系统管理员

编辑、删除

超级管理员、系统管理员、规则负责人

查看规则详情

无权限管控

限流配置概览

限流配置页面主要由操作区、限流规则列表、批量操作组成。您可以在限流配置页面创建及管理限流规则。

image

区域

说明

操作区

  • 已开启的:为您展示状态为开启的限流规则。

  • 搜索:支持输入限流规则名称进行搜索。

  • 筛选:单击image筛选图标,支持根据限流规则的标签、负责人、生效环境进行筛选。

  • 管理规则标签:规则标签主要是用来对限流规则进行标识和分类,您可以新建限流规则标签,设置目标关键词,方便后续的定位与查找。更多信息,请参见管理限流规则标签

  • 新建限流规则:通过创建规则对计算任务进行限流。具体操作,请参见新建限流规则

  • 刷新:单击image刷新图标,支持刷新当前规则列表。

限流规则列表

为您展示已经创建的限制规则。包括规则名称生效环境生效时间并发运行数最新更新时间负责人开启状态及支持的管理操作

重要

成功创建限制规则后,限制规则的开启状态默认为启动状态。关闭开启状态限制规则将不生效。

  • 详情:查看规则详情信息。

  • 编辑:编辑限流规则。不支持变更生效环境

  • 复制:支持复制当前限流规则信息快捷创建限流规则。

  • 删除:删除当前限流规则。

批量操作

  • 开启:批量开启选中的限流规则。开启后,将对当前租户下所有命中限流规则的任务生效,可能会影响运行正常下发,请确认是否需要开启。

  • 关闭:批量关闭选中的限流规则。关闭后,已配置的限流规则失效。如果同一时间内任务并发度过高,可能会对计算引擎和外部数据源造成压力,请谨慎评估。

  • 删除:批量删除选中的限流规则。删除后,所有命中该限流规则且未下发的任务均不再受该规则管控,请谨慎评估是否会影响核心业务数据产出或产生过高并发造成较大的系统压力。

  • 修改责任人:批量修改选中的限流规则的负责人。规则负责人可以修改自己负责的规则详情或删除该规则,修改后立即生效。

  • 修改标签:批量修改选中的限流规则的标签清空已有标签

新建限流规则

重要

限流规则配置完成后立刻生效,请评估是否会影响相关业务数据使用,然后再进行配置。

  1. 在Dataphin首页,单击顶部菜单栏研发->任务运维

  2. 按照以下操作指引,进入新建限流规则对话框。

    依次单击限流配置->+新建限流规则

    image

  3. 新建限流规则对话框,配置参数。

    参数

    说明

    规则名称

    填写自定义限流规则名称,不超过128个字符。

    描述

    填写该规则的简单描述信息,不超过256个字符。

    责任人

    默认为当前创建人,您可以单击下拉列表选择其他责任人。

    标签

    单击下拉列表,选择创建的标签。更多信息,请参见管理限流规则标签

    生效环境

    限流规则生效的环境。包括生产环境开发环境

    说明

    不同环境可选的配置对象不同,切换环境后将清空现有的规则,您需要重新进行配置。

    规则配置

    全局限流对目标环境下的所有任务进行限流。

    自定义规则根据配置的自定义规则对满足筛选条件的任务进行限流。支持的任务属性包括所属项目调度类型任务类型业务类型任务名称。不用任务属性支持的条件及条件值不同。

    • 所属项目

      • 条件:支持属于不属于

      • 条件值:

        • 生效环境开发环境时,可搜索当前租户下所有Dev项目。

        • 生效环境生产环境时,可搜索当前租户下所有Basic和Prod项目。

    • 调度类型

      • 条件:支持等于不等于

      • 条件值:

        • 周期实例:周期任务按照调度配置自动定时运行生成的实例。

        • 手动实例:包含计算任务、集成任务、同步任务、萃取补数据任务、标签测试运行任务生成的实例。

        • 补数据实例:通过不补数据操作生成的实例。

        • 一次性运行:包含即席查询、计算任务试运行、逻辑表冒烟测试、集成任务试运行。

    • 任务类型

      • 条件:支持属于不属于

      • 条件值:不同计算引擎,支持不同的任务类型,具体支持类型请以实际页面为准。

    • 业务类型

      • 条件:支持等于、不等于。

      • 条件值:

        • 集成同步:对应DLINK任务。

        • 离线数据处理:对应离线计算任务、DATA_X同步任务、FLINK_SQL_BATCH任务。

        • 建模研发:仅智能研发版支持,对应所有逻辑表任务。

    • 任务名称

      • 条件:支持等于不等于包含不包含属于不属于以…开头不以…开头以…结尾不以…结尾

      • 条件值:支持输入任意筛选条件值。筛选条件为属于不属于,支持按行输入多个任务名称,每行一个任务名称。

    并发运行数

    设置并发运行数,请结合实际限流场景进行配置。

    说明

    并发数为0代表不下发。

    生效时间

    设置限流规则生效时间。支持设置全时间段指定时间范围指定时间区间

    全时间段:根据配置的限流规则持续生效。

    指定时间范围:指定时间范围内均生效。例如,2022-09-11 00:00:00 ~ 2022-09-11 11:00:00

    说明

    适用于需要在特定时间区间进行限流的场景。

    指定时间区间:指定选中日期范围内的具体时间段内生效。例如,2022-09-11 ~2022-09-12  00:00:00 ~ 11:00:00

    说明

    适用于需要在特定时间段进行限流的场景。

  4. 单击确定,完成限流规则创建。

管理限流规则标签

限流规则标签主要是用来对限流规则进行标识和分类,您可以新建限流规则标签,设置目标关键词,方便后续的定位与查找。您可以在管理限流规则对话框进行新建及管理操作。

image

区域

说明

操作区

  • 搜索:支持输入标签名称进行搜索。

  • 新建标签:您可以按照以下操作进行标签的新建。

    1. 单击新建标签

    2. 在填写输入框中,填写标签参数。

      • 标签名称:填写标签名称,最多输入128个字符。

      • 描述:填写标签的简单描述,最多输入128个字符。

    3. 单击image确定图标,完成标签创建。

标签列表

对已经创建的标签支持编辑删除操作。