应用场景
这里我先描述一个极其简单的业务场景:用4台Cache服务器缓存所有Object。
那么我将如何把一个Object映射至对应的Cache服务器呢?最简单的方法设置缓存规则:object.hashCode() % 4。
| Cache 0: object.hashCode() % 4 == 0 |
Cache 1: object.hashCode() % 4 == 1 |
| Cache 2: object.hashCode() % 4 == 2 |
Cache 3: object.hashCode() % 4 == 2 |
看起来一切正常,考虑下面两种情况:
一:由于Cache3硬件损坏,所有Cache3上的缓存都失效了,需要把Cache3移除。
二:由于负载已经无法承担业务增涨,决定添加一台Cache

本文介绍了在动态变化的缓存环境中,一致性哈希算法如何解决服务器增减和缓存内容映射的问题,确保平衡性和单调性。通过在哈希空间创建虚拟节点,实现缓存负载的均衡分配,降低数据迁移成本。
最低0.47元/天 解锁文章
49万+

被折叠的 条评论
为什么被折叠?



