限流

更新时间:2025-03-21 01:55:28

API限流策略专为大模型服务及高并发调用场景设计,采用基于调用Token量的动态控制机制,取代传统请求数或请求体积的限流方式。该策略可针对消费者身份、请求Header参数、Query参数、客户端IP等多维度配置限流规则,根据单次API调用消耗的Token总量进行实时计费和流量管控。这种以Token消耗为核心的限流模式能精准匹配大模型计算资源消耗特性,有效防止系统过载、接口滥用及恶意调用,同时保障核心业务在复杂场景下的稳定运行。

策略说明

  • 防止资源过载:通过设置灵活的限流策略(如按消费者、header、query参数、cookie或客户端IP),可以有效限制高频调用或恶意请求,避免因资源过载导致系统崩溃或性能下降。同时,建议配合缓存策略以提升系统性能。

  • 动态调整流量:支持多种限流范围(如每秒、每分钟、每小时、每天),可以根据业务需求灵活调整限流规则,确保系统在高并发场景下仍能稳定运行。

  • 多种匹配规则支持:限流策略支持多种匹配规则,能够满足高优先级的复杂业务场景需求。

  • 防止恶意攻击:通过对特定消费者、header、query参数或cookie进行限流,可以有效限制爬虫或自动化工具的访问频率,保护数据安全。

适用场景

  • 高并发场景:电商大促期间,按用户单位时间调用Token总量限流,防止恶意高频调用,保障服务稳定及活动公平。

  • AI 服务调用:对大模型 API 的调用进行限流,避免因突发流量导致服务质量下降或系统崩溃。

  • 多租户系统:在开放平台或多租户架构中,为不同租户分配独立的限流配额,确保公平性和资源隔离。

  • 恶意攻击防护:防范针对 AI 接口的爬虫攻击、DDoS 攻击或接口滥用行为,保护系统安全。

前提条件

已完成AI API创建

操作步骤

重要

您需要在Redis控制台中要将网关实例的VPC网段添加至白名单。

  1. 登录云原生API网关控制台

  2. 在左侧导航栏,选择API,并在顶部菜单栏选择地域。

  3. 单击AI API页签。在AI API列表中,单击目标API,进入目标API详情页面。

  4. 选择策略与插件页签。开启限流,配置相关参数,单击保存

    说明

    Redis用于存储请求的Token消耗及时间,以便网关通过滑动窗口计算总消耗以判定是否触发限流。

    配置项

    说明

    配置项

    说明

    限流

    开启或关闭限流开关,默认关闭。

    Redis服务地址

    Redis服务地址。

    端口号(Port)

    Redis服务端口号。

    访问方式

    Redis服务访问方式。

    • 账号+密码登录

    • 密码登录

    • 免密登录

    数据库账号

    目标数据库账号。

    数据库密码

    目标数据库密码。

    数据库编号

    指定的数据库编号。

    限流策略

    • 限流策略包含5判断条件

      • 按请求header:例如,限制header中带有beta标识的请求,每分钟限流100tokens。

      • 按请求query参数:例如,限制query参数中user_id=1请求,每分钟限流100tokens。

      • 按请求cookie:例如,限制cookie中带有目标标识的请求,每分钟限流100tokens。

      • 按消费者:例如,任意消费者每分钟限流1000tokens。

        重要

        配置按消费者限流,需要先开启消费者鉴权

      • 按客户端IP:例如,限制每个客户端IP每分钟限流100tokens。

    • 每种判断条件支持四种限流规则精确匹配前缀匹配正则匹配任意匹配,优先级:精确匹配 > 前缀匹配 > 正则匹配 > 任意匹配。

      说明

      如果配置了多条规则,则命中任一规则即被拦截。

    • 限流范围包含每秒每分钟每小时每天

      说明

      限流的标准包括:按大模型的传入传出token大小。

  • 本页导读 (1)
  • 策略说明
  • 适用场景
  • 前提条件
  • 操作步骤