envoy 中文参考文档
  • 首页
  • 简介
    • Envoy是什么
    • 架构介绍
      • 术语
      • 线程模型
      • 监听器
      • L3/L4网络过滤器
      • HTTP连接管理
      • HTTP过滤器
      • HTTP路由
      • gRPC
      • WebSocket支持
      • 集群管理
      • 服务发现
      • 健康检查
      • 连接池
      • 负载均衡
      • 异常检测
      • 熔断
      • 全局限速
      • TLS
      • 统计
      • 运行时配置
      • 跟踪
      • TCP代理
      • 访问日志
      • MongoDB
      • DynamoDB
      • Redis
      • 热重启
      • 动态配置
      • 初始化
      • 逐出
      • 脚本
    • 部署
    • 业界对比
    • 获得帮助
    • 历史版本
  • 编译安装
    • 编译
    • 参考配置
    • 演示沙箱
      • 前端代理
      • Zipkin跟踪
      • Jaeger跟踪
      • gRPC桥接
      • 构建Envoy Docker镜像
    • 工具
  • 配置参考
    • V1 API 概述
    • V2 API 概述
    • 监听器
    • 网络过滤器
      • TLS客户端身份认证
      • Echo
      • Mongo代理
      • 速率限制
      • Redis代理
      • TCP代理
    • HTTP连接管理器
      • 路由匹配
      • 流量转移/分流
      • HTTP头部操作
      • HTTP头部清理
      • 统计
      • 运行时设置
      • 路由发现服务
    • HTTP过滤器
      • 缓存
      • CORS过滤器
      • 故障注入
      • DynamoDB
      • gRPC HTTP/1.1 桥接
      • gRPC-JSON 转码过滤器
      • gRPC-Web 过滤器
      • 健康检查
      • 速率限制
      • 路由
      • Lua
    • 集群管理
      • 统计
      • 运行时设置
      • 集群发现服务
      • 健康检查
      • 熔断
    • 访问日志
    • 限速服务
    • 运行时配置
    • 路由表检查工具
  • 运维管理
    • 命令行选项
    • 热重启
    • 管理接口
    • 统计概述
    • 运行时配置
    • 文件系统
  • 自定义扩展示例
  • V1 API参考
    • 监听器
    • 网络过滤器
      • TLS客户端身份认证
      • Echo
      • HTTP连接管理
      • Mongo代理
      • 速率限制
      • Redis代理
      • TCP代理
    • HTTP路由配置
      • 虚拟主机
      • 路由
      • 虚拟集群
      • 速率限制配置
      • 路由发现服务
    • HTTP过滤器
      • 缓存
      • CORS过滤器
      • DynamoDB
      • 故障注入
      • gRPC HTTP/1.1 桥接
      • gRPC-JSON 转码过滤器
      • gRPC-Web 过滤器
      • 健康检查
      • Lua
      • 速率限制
      • 路由
    • 集群管理
      • 集群
        • 健康检查
        • 熔断
        • TLS上下文
        • 异常值检测
        • HASH环负载均衡配置
      • 异常检测
      • 集群发现服务
      • 服务发现服务
    • 访问日志
    • 管理接口
    • 限速服务
    • 运行时配置
    • 跟踪
  • V2 API参考
    • 启动引导
    • 监听&监听发现
    • 集群&集群发现
    • 服务发现
    • 健康检查
    • HTTP路由管理&发现
    • TLS配置
    • 通用的类型
    • 网络地址
    • 协议选项
    • 发现API
    • 限速组件
    • 过滤器
      • 网络过滤器
        • TLS客户端身份认证
        • HTTP连接管理
        • Mongo代理
        • 速率限制
        • Redis代理
        • TCP代理
      • HTTP过滤器
        • 缓存
        • 故障注入
        • 健康检查
        • Lua
        • 速率限制
        • 路由
        • gRPC-JSON转码器
      • 常见访问日志类型
      • 常见故障注入类型
  • FAQ
    • Envoy有多快?
    • 我在哪里获得二进制文件?
    • 我如何设置SNI?
    • 如何设置区域感知路由?
    • 我如何设置Zipkin跟踪?
Powered by GitBook
On this page
  • 速率限制配置
  • Actions
  • Source Cluster
  • Destination Cluster
  • Request Headers
  • Remote Address
  • Generic Key
  • Header Value Match
  • 返回

Was this helpful?

  1. V1 API参考
  2. HTTP路由配置

速率限制配置

Previous虚拟集群Next路由发现服务

Last updated 5 years ago

Was this helpful?

速率限制配置

全局速率限制。

{
  "stage": "...",
  "disable_key": "...",
  "actions": []
}
  • stage (optional, integer) 指在过滤器中设置的阶段。速率限制配置仅适用于具有相同阶段编号的过滤器。默认的阶段编号是0。

    注意:对于阶段编号,过滤器支持0-10的范围。

  • disable_key (optional, string) 在运行时设置的key,用于禁用此速率限制配置。

  • actions (required, array) 将应用于此速率限制配置的操作列表。顺序很重要,因为这些操作是按顺序处理的,描述符是通过在该顺序中附加描述符条目来组成的。如果某个操作无法附加描述符条目,则不会为该配置生成描述符。请参阅相关。

Actions

{
  "type": "..."
}
  • type

    (required, string) 要执行的速率限制操作的类型。当前支持的操作类型是source_cluster,destination_cluster,request_headers,remote_address,generic_key和header_value_match。

Source Cluster

{
  "type": "source_cluster"
}

以下描述符条目被追加到描述符中:

("source_cluster", "<local service cluster>")

<local service cluster> 是从 --service-cluster 选项派生出来的.

Destination Cluster

{
  "type": "destination_cluster"
}

以下描述符条目被追加到描述符中:

("destination_cluster", "<routed target cluster>")

一旦请求与路由表规则匹配,路由的集群就由以下路由表配置设置之一确定:

Request Headers

{
  "type": "request_headers",
  "header_name": "...",
  "descriptor_key" : "..."
}
  • header_name (required, string) 要从请求头中查询的该头的名称。头的值用于填充descriptor_key的描述符条目的值。

  • descriptor_key (required, string) 在描述符条目中使用的关键。

当一个头包含一个与header_name匹配的关键字时,附加下面的描述符条目:

("<descriptor_key>", "<header_value_queried_from_header>")

Remote Address

{
  "type": "remote_address"
}
("remote_address", "<trusted address from x-forwarded-for>")

Generic Key

{
  "type": "generic_key",
  "descriptor_value" : "..."
}
  • descriptor_value

    (required, string) 描述符条目中使用的值。

以下描述符条目被追加到描述符中:

("generic_key", "<descriptor_value>")

Header Value Match

{
  "type": "header_value_match",
  "descriptor_value" : "...",
  "expect_match" : "...",
  "headers" : []
}
  • descriptor_value (required, string) 描述符条目中使用的值。

  • expect_match (optional, boolean) 如果设置为true,则该操作将在请求与头部匹配时附加描述符条目。如果设置为false,则该操作将在请求与头部不匹配时附加描述符条目。默认值是true。

以下描述符条目被追加到描述符中: .. code-block:: cpp

(“header_match”, “<descriptor_value>”)

返回

指定要路由到的上游群集。

从一组具有权重属性的集群组中随机选择一个集群。

指定从请求中的头部获取目标群集。

以下描述符条目被追加到描述符中,并使用来自的可信地址填充:

(required, array) 指定速率限制操作应匹配的一组头。将检查请求的头部与配置中所有指定的头部。如果配置中的所有报头都存在于具有相同值的请求中(或者如果没有配置value字段,则认为存在),则匹配将发生。

架构概述
操作文档
上一级
首页目录
x-forwarded-for
cluster
weighted_clusters
cluster_header
headers