一致性雜湊匹配器 (proto)

此擴充功能的完整名稱為 envoy.matching.matchers.consistent_hashing

注意

此擴充功能旨在針對不受信任的下游流量具有強健性。它假設上游是受信任的。

提示

此擴充功能擴展並可用於以下擴充功能類別

此擴充功能必須使用以下其中一種 type 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": ...
}
threshold

(uint32) 為了使此匹配器評估為 true,產生的雜湊必須超過的閾值。此值必須低於設定的 modulo 值。將此值設定為 0 等同於此匹配器始終匹配。

modulo

(uint32) 用於計算模數的值。這有效地限制了雜湊輸出,指定了可能值的範圍。此值必須高於設定的閾值。

seed

(uint64) 透過雜湊函數傳遞的可選 seed。這允許在計算雜湊值時使用額外資訊:透過變更 seed 值,將建立匹配和不匹配輸入的不同分割區,該分割區對於該 seed 值保持一致。