大型网站如何防止崩溃,解决高并发带来的问题( 三 )

分布式缓存利器Redis集群 , Redis集群的搭建至少需要三主三从 。

1. 所有的redis节点彼此互联(PING-PONG机制)内部使用二进制协议优化传输速度和带宽 。

2. 节点的fail是通过集群中超过半数的节点检测失效时才生效(所以一个集群中至少要有三个节点) 。

3. 客户端与redis节点直连不需要中间proxy层.客户端不需要连接集群所有节点连接集群中任何一个可用节点即可 。

4. 集群中每一个节点都存放不同的内容 , 每一个节点都应有备份机 。

5. redis-cluster把所有的物理节点映射到[0-16383
slot上cluster 负责维护node<->slot<->value

Redis 集群中内置了16384 个哈希槽 , 当需要在Redis 集群中放置一个key-value 时 , redis先对 key 使用 crc16 算法算出一个结果 , 然后把结果对16384 求余数 , 这样每个key 都会对应一个编号在0-16383 之间的哈希槽 , redis会根据节点数量大致均等的将哈希槽映射到不同的节点 。

推荐阅读