特殊说明:Memcached 集群和 web 服务集群是不一样的,所有 Memcached 的数据总和才是数据库的数据。每台 Memcached 都是部分数据。(一台 memcached 的数据,就是一部分 mysql 数据库的数据)
a、程序端实现
程序加载所有 mc 的 ip 列表,通过对 key 做 hash (一致性哈希算法)例如:web1 (key)===>对应 A,B,C,D,E,F,G…..若干台服务器。(通过哈希算法实现)
b、负载均衡器
通过对 key 做 hash (一致性哈希算法)一致哈希算法的目的是不但保证每个对象只请求一个对应的服务器,而且当节点宕机,缓存服务器的更新重新分配比例降到最低。