• Redis Quota
    • 参数
    • Override
    • Quota
    • QuotaAlgorithm

    Redis Quota

    redisquota 适配器可以用来给 Istio 的配额管理系统提供支持。它使用 Redis 服务器来存储配额数据。

    这一适配器支持 quota 模板。

    参数

    redisquota 适配器支持固定或滚动窗口算法的速率限制配额管理。它使用 Redis 存储共享数据。

    配置样例:

    1. redisServerUrl: localhost:6379
    2. connectionPoolSize: 10
    3. quotas:
    4. - name: requestcount.quota.istio-system
    5. maxAmount: 50
    6. validDuration: 60s
    7. bucketDuration: 1s
    8. rateLimitAlgorithm: ROLLING_WINDOW
    9. overrides:
    10. - dimensions:
    11. destination: ratings
    12. source: reviews
    13. maxAmount: 12
    14. - dimensions:
    15. destination: reviews
    16. maxAmount: 5
    字段类型描述
    quotasParams.Quota[]已知的 quota 列表,其中至少包含一个 quota 配置
    redisServerUrlstringRedis 连接字符串,例如 localhost:6379
    connectionPoolSizeint64Redis 的最大闲置连接数。缺省设置为每 CPU 10 连接,CPU 数量来自 runtime.NumCPU

    Override

    字段类型描述
    dimensionsmap<string, string>为覆盖配置指定的 Dimension。字符串表达的 Dimension 来自模板配置,这个值不能为空
    maxAmountint64覆盖 quota 配置的上限值。这个值必须大于零

    Quota

    字段类型描述
    namestring配额的名称
    maxAmountint64配额的上限,取值应大于零
    validDurationgoogle.protobuf.Duration在自动释放之前,已分配数额保持有效的时间长度。这只对速率限制配额有效,取值必须大于零
    bucketDurationgoogle.protobuf.Duration如果 rateLimitAlgorithm 设置为 FIXED_WINDOW,该字段无效,取值必须大于零且小于 validDuration
    rateLimitAlgorithmParams.QuotaAlgorithm配额管理算法,缺省值为 FIXED_WINDOW
    overridesParams.Override[]这一配额的相关覆盖内容,第一次覆盖优先生效

    QuotaAlgorithm

    速率限制的算法。

    字段描述
    FIXED_WINDOW固定窗口算法允许出现两倍的速率峰值,滑动窗口算法不会出现这样的情况
    ROLLING_WINDOW滑动窗口算法提供更加精确的控制,但是也会提高对 Redis 资源的消耗