为什么要用集群:
单机服务器容易性能瓶颈较低
单机服务器宕机风险大
什么是集群:
使用网络将若干台服务器连接起来,并提供同一的管理方式,使其对外达到单机服务器的效果
集群的作用:
分散单台服务器的访问压力,实现负载均衡
分散单台服务器的存储压力,实现可扩展性
降低单台服务器宕机造成的业务灾难
redis集群如何工作的:
redis的数据存储设计:
1.redis将储存空间分成16384份,每个主机等分,叫做槽
2.通过算法设计(CRC16(key)%16384) ,计算key的保存位置
3.当有新加节点时,每个服务器拿出等量的槽给新增的服务器,减节点同理
集群的内部通讯设计:
每个节点间相互通信,保存各节点中槽的编号数据
当有取值操作时,先计算出key所在槽的位置
根据槽的位置第一次寻找,如果成功返回值,如果失败,返回槽所在的节点,直接到对应节点查找,成功