当上游服务器数量发生变化时,它的路由策略失效,一致性hash能缓解这个问题
宕机或者扩容时,hash算法引发大量路由变更,可能导致缓存大范围失效
扩容前
4台server放在一个环上,任何一个键key计算hash会有一个值.4个节点按照整数,比如hash全是32位整型,
4个节点均匀的放在环上.
分的力度很细,假如在扩容,影响范围很小
一致性hash可以缓解,当服务扩容或者宕机时,路由不发生大规模变化.
当上游服务使用缓存时,不会导致缓存失效.不能解决宕机或者扩容,所有路由不能发生变化,这个解决不了
使用一致性hash算法: upstream_hash模块
Syntax: hash key [consistent];
Default: -
Context: upstream