当集群管理器中的lb_type
设置为ring_hash
时,将使用环哈希负载平衡策略。
{
"minimum_ring_size": "...",
"use_std_hash": "..."
}
minimum_ring_size
(optional, integer) 最小哈希环大小,即虚拟节点总数。尺寸更大可以提供更好的请求分布,因为群集中的每个主机将具有更多的虚拟节点。默认为1024。若主机总数大于最小值的情况下,每个主机将被分配一个虚拟节点。
use_std_hash
(optional, boolean) 默认为true
,这意味着std::hash
用于将主机散列到ketama
环上。std::hash
可能因平台而异。为此,Envoy默认最终会使用xxHash。该字段用于迁移目的,最终将被弃用。现在将其设置为false
以使用xxHash
。