1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.2.9.4 | 支持流控规则和报警规则 |
1.2 应用场景
FineDataLink 目前未对数据服务 API 做并发限制,并发高时会把 Tomcat 线程占满导致浏览器页面无法访问,影响到整个 FineDataLink 的工程。
当数据服务产生的 API 接口请求超时或者有问题时,希望发送邮件预警;用户现在只能到数据服务运维界面查看到报错信息或者等业务反馈,不够及时。
1.3 功能简介
1)支持在全局 API 维度/单个API维度设置调用次数限制,在出现瞬时高并发访问时,超限制的那部分请求会快速失败。
2)支持以API维度,添加报警规则,达到报警条件后,进行通知。
1.4 前提条件
1)有数据服务功能模块的入口权限,便可查看规则。详情请参见:数据平台使用权限
2)只有超管才能配置流控规则、报警规则,非超管仅可查看有权限的内容。
2. 流控规则

点击「数据服务>规则管理」,进入流控规则设置界面。如下图所示:
2.1 全局规则
1)点击「查看」按钮,再点击「编辑」按钮,可编辑全局流控规则。如下图所示:
2)为所有 API 设置流控规则。如下图所示:
设置项 | 说明 |
---|---|
统计时间窗口 | 单位可选择分钟、小时 数值需填入正整数 |
调用次数限制 | 默认为 1000 次 限制所有 API 在「统计时间窗口」内的调用次数,若超过限制,则触发流控,超限制的那部分请求会快速失败 |
3)启用该规则。如下图所示:
2.2 添加自定义规则
支持在应用维度、API维度,添加流控规则。
1)点击「添加自定义规则」按钮,可为应用、API 添加规则。如下图所示:
2)可设置具体的流控规则。如下图所示:
设置项 | 说明 |
---|---|
规则名称 | 支持自定义 |
统计时间窗口 | 单位可选择分钟、小时 数值需填入正整数 |
调用次数限制 | 默认为 100 次 限制单个 API 在「统计时间窗口」内的调用次数,若超过限制,则触发流控,超限制的那部分请求会快速失败 注:「调用次数限制」对单个 API 生效,而非所有被选择的 API 调用次数之和;比如作用对象为 API1 和 API2,次数限制为 100 次,那么是对 API1 限制 100 次,对 API2 也限制 100 次 |
作用对象 | 1)点击「添加」按钮后,可全选应用下的 API ,或者选择应用下某些 API,支持跨应用选择 API 注:已配置过流控规则的 API ,不支持再被选择 2)支持移除已选择的 API |
3)设置完成后,界面如下图所示:
3. 报警规则
3.1 添加流程
1)点击「数据服务>规则管理」,进入报警规则设置界面。如下图所示:
2)点击「添加自定义规则」按钮,对报警规则进行设置。如下图所示:
设置项 | 说明 |
---|---|
规则名称 | 用户自定义即可 |
统计时间窗口 | 单位可选择分钟、小时 含义:XX分钟/小时内, 达到「报警条件」后,开始报警 |
报警条件 | 1)支持设置错误率(0-100的整数)和调用次数(正整数) 2)条件可选择所有和任一;错误率和调用次数可以只勾选其中一个 3)逻辑:对多个作用对象中的每一个对象,都配置相同的报警条件;比如作用对象为 API1 和 API2,调用次数设置为 100,那么是对 API1 限制 100,对 API2 也限制 100 |
报警频率 | 1)单位为分钟/小时 2)X 分钟/小时内,对一个应用下的同一个 API,最多报警 Y 次 |
通知配置 | 通知对象支持平台用户组(用户/部门/角色);通知渠道支持平台/邮件/短信/客户端(钉钉群机器人、飞书群机器人、企业微信群机器人) |
作用对象 | 1)作用对象支持选择应用下所有 API、或者某些 API;支持跨应用选择 API 注:已配置过报警规则的 API ,不支持再被选择 2)支持移除已选择的 API |
3)配置后,界面如下图所示:
3.2 报警内容
内容 | 详情 |
---|---|
报警标题 | 数据服务异常报警 |
报警内容 | ${API路径} 于 ${报警时间} 发生${报警条件}告警。详细情况请前往【任务运维】-【数据服务】-【调用记录】查看。 注:报警条件就是具体的指标类型,目前有错误率和调用次数 |