You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Envoy代理中为RING_HASH负载均衡配置Hash Key参数

你配置的hash_key位置和用途完全错误:集群filter_metadata下的envoy.lb.hash_key并非用于指定负载均衡的哈希取值来源,这个字段是老旧版本的废弃配置,仅用于特殊的元数据匹配场景,和你要实现的基于请求头的哈希路由没有关系。

基于请求头的RING_HASH正确配置方法

需要在HttpConnectionManager的路由规则中新增hash_policy配置,指定哈希值从指定请求头中提取,修改你的路由配置段如下:

routes:
- match: { prefix: "/" }
  route: 
    cluster: some_service
    # 新增哈希策略配置
    hash_policy:
    - header:
        # 替换为你实际要用来做哈希的请求头名称,比如x-device-id、x-user-id等
        header_name: "x-custom-hash-key"

如果你的需求是所有请求固定哈希到同一个上游节点,直接使用固定值哈希策略即可:

hash_policy:
- fixed_key:
    key: "your_fixed_value"

可选优化配置

  • 若出现哈希分布不均匀的问题,可在集群配置中调整一致性哈希环的参数:
clusters:
- name: some_service
  connect_timeout: 0.25s
  type: STATIC
  lb_policy: RING_HASH
  # 新增环配置调整分布均匀度
  lb_config:
    ring_hash_lb_config:
      minimum_ring_size: 1024
      maximum_ring_size: 8192
  # 剩余原有配置保持不变
  • 支持配置多条哈希策略,Envoy会按顺序拼接所有取值生成最终哈希键,比如同时基于请求头+源IP哈希:
hash_policy:
- header:
    header_name: "x-user-id"
- source_ip: {}

内容的提问来源于stack exchange,提问作者dnsh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:51:01