5.2 常用资源类型

上一章

5.2.3 mTLS认证策略

下一章

更多图书

5.2.2 请求配额

请求配额可以对服务请求进行限流配置:

·Quota——指定用于配额限制的数据维度。可以理解为需要从请求中提取的信息及其提取规则,如:源地址、目标地址、目标版本等。示例如下:


apiVersion: "config.istio.io/v1alpha2"
kind: quota
metadata:
  name: requestcount
  namespace: istio-system
spec:
  dimensions:
    source: request.headers["x-forwarded-for"] | "unknown"
    destination: destination.labels["app"] | destination.service | "unknown"
    destinationVersion: destination.labels["version"] | "unknown"

·Redisquota——基于Redis实现的具体Quota,使用Quota定义的规则进行数据维度提取,指定具体的维度来进行配额。

·Memquota——基于内存实现的具体Quota,使用Quota定义的规则进行数据维度提取,指定具体的维度来进行配额。

·Quotaspec——定义指定Quota配额标准,例如:每次请求计数加1,或者每次请求计数加2,可以方便地用于限流、计费等场景。

·Quotaspecbinding——把Quotaspec和具体的Service相绑定。

·Rule——把配置的Instance对象传递给Handler来处理,在配额功能中使用时,负责绑定Quota和具体Quota实现,把Quota对象传递给具体的Quota进行处理。