一致性 Hash 原理及 GroupCache 源码分析

编程沉思录 at 
一致性 Hash 原理及 GroupCache 源码分析的配图
本文属于 《Golang 源码剖析系列》一致性 Hash 常用于缓解分布式缓存系统扩缩容节点时造成的缓存大量失效的问题。一致性 Hash 与其说是一种 Hash 算法,其实更像是一种负载均衡策略。GroupCache 是 golang 官方提供的一个分布式缓存库,其中包含了一个简单的一致性 Hash 的实现。其代码在 github.com/golang/groupcache/consistenthash。本文将会基于 GroupCache 的一致性 Hash 实现,深入剖析一致性 Hash 的原理。本文会着重探讨以下几点内容:传统的 Hash 式负载均衡在集群扩缩容时面临的缓存失效问题。一致性……