C#及.NET中跳出一致性Hash算法并打造更高效的分布式缓存2014-10-05
背景谈到分布式缓存,大家首先想到的是memcached。确实memcached是目前最流行的方案之一。不过很多互联网公司不用memcached,例如新蛋。为什么不选择memcached呢,命中率?热插拔?还是性能。这里先不放结论,用事实来说话。
算法篇 -1.除余法如果你手上有老版本的memcache官方文档。你会发现他们用的是除余法来保持节点的一致性。假如你有N台缓存服务器,你需要将某个对象set进某一台节点上。用hash取模这样可以很均匀的保证每台的负载。那么,作为最基本的轮询算法,是否适合分布式缓存我们来看实例。

这里假设有4台缓存节点,先设置除余方案。自动设置999条键值。

下面来看下除余方案的各种综合结果

本文URL地址:http://www.bianceng.cn/Programming/csharp/201410/45481.htm