针对每个接口配置单位时间访问次数的上限,对访问次数已达到上限之后的接口,在统计时间段内的请求都予以拒绝,直至本统计时间段结束。
接口访问频度达到阈值时会进行告警,显示出现接口访问流量异常的接口的基本信息、异常信息等。
使用该功能需要在“配置管理 > 拦截器管理”页面中勾选【访问频度】选项。访问频度配置只对发布到APIGateway ESBServer的接口生效,如果接口发布类型是“HTTP路由”,需要在”路由配置“中编辑对应路由添加接口调用次数插件。如果是APIGateway ESBServer集群,使用频度配置需要启用 Redis ,请启用并配置好 Redis 的 IP地址和端口等参数,详细参见 [1.5.1.2 解压安装] 的配置。集群使用场景如下。APIGateway ESBServer1和APIGateway ESBServer2 都通过 Redis 控制频度,Governor 频度配置为 10 秒钟访问 5 次,则 APIGateway ESBServer1 调用 2 次后, APIGateway ESBServer2 能再调用 3 次,即 APIGateway ESBServer1和 APIGateway ESBServer2 的调用次数之和为 5 次。如果不启用Redis 则 APIGateway ESBServer1和 APIGateway ESBServer2 分别可以调用 5 次。
# 新增访问频度配置
管理人员登录系统,进入管理门户,点击菜单“访问安全”>“访问配置”,打开访问配置界面,点击“访问频度配置”页签。
点击“新增”按钮,弹出新增频度配置页面。
参数 说明 消费方编码 选择消费方编码。 接口编码 选择接口编码。 时长 访问时长,单位(秒)。 访问次数 访问次数,单位(次)。 生效server 需要进行频度控制的APIGateway ESBServer 配置完成后,点击“确定”,提示“保存成功”。
# 编辑访问频度配置
- 在访问频度配置页签,选择一条需要修改的访问频度配置,在操作列点击“编辑”按钮,弹出编辑频度控制页面。
- 修改完成后,点击“确定”保存。
#
# 删除访问频度配置
- 在访问频度配置页签,选择一条需要删除的访问频度配置,在操作列点击“删除”按钮,弹出“删除确认”的提示信息。
# 调用结果
- 如果访问频度在设置范围内则调用成功,客户端会显示调用结果,APIGateway ESBServer 后台无输出信息。
- 如果访问频度超出设置范围则超出的调用会失败,客户端返回信息为:“调用次数超过频度阀值”,APIGateway ESBServer 后台无输出信息。