一致性哈希匹配器 (proto)

此扩展的限定名称为 envoy.matching.matchers.consistent_hashing

注意

此扩展旨在对不可信的下游流量具有鲁棒性。它假设上游是可信的。

提示

此扩展扩展并可用于以下扩展类别

此扩展必须使用以下类型 URL 中的其中一个进行配置

extensions.matching.input_matchers.consistent_hashing.v3.ConsistentHashing

[extensions.matching.input_matchers.consistent_hashing.v3.ConsistentHashing proto]

一致性哈希匹配器根据输入计算一个一致性哈希,如果生成的哈希在配置的阈值内,则匹配。更准确地说,如果 hash(input, seed) % modulo >= threshold,则此匹配器评估为 true。请注意,匹配结果的一致性取决于内部哈希函数(xxhash)保持不变。虽然这种情况不太可能故意发生,但可能会导致部署之间的匹配结果不一致。

{
  "threshold": ...,
  "modulo": ...,
  "seed": ...
}
阈值

(uint32) 生成的哈希必须超过的阈值,以便此匹配器评估为 true。此值必须低于配置的模数。将其设置为 0 等同于此匹配器始终匹配。

模数

(uint32) 用于计算中模数的值。这实际上限制了哈希输出,指定了可能的取值范围。此值必须高于配置的阈值。

种子

(uint64) 通过哈希函数传递的可选种子。这允许在计算哈希值时使用其他信息:通过更改种子值,将创建匹配和不匹配输入的不同分区,该分区对于该种子值保持一致。