这周总共介绍了缓存,消息队列,负载均衡和分布式数据库。
缓存
缓存命中率
影响缓存命中率的指标有:缓存键集合大小,缓存可使用内存空间,缓存对象生存时间。
缓存键集合大小
在保证缓存命中率的同时,尽量减少缓存键的数量。
天气预报,根据IP来缓存和根据国家来缓存。
缓存可使用内存空间
物理上能缓存上的对象越多,缓存的命中率越高
缓存对象生存时间
对象缓存的时间越长,缓存对象被重用的可能性越高
一致性Hash算法
普通hash算法
普通hash算法,将缓存数据的key计算一个值,然后mod服务器节点数量。当时在增加或移除服务器节点时,无法继续将缓存数据平均分配在剩余服务器节点。
虚拟节点
因为hash值有2^32个,将一个服务器节点分成多个虚拟节点,使其尽可能均匀的分配。