redis集群搭建

1 为什么搭建集群

分析:1.分片主要的功能实现redis内存扩容.

        2.哨兵主要实现了redis的高可用.

发展:使用redis集群实现分片和哨兵的全部的功能.

2 脑裂现象

说明:由于在集群/推选机制中,长时间出现平票的结果.则容易出现脑裂的现象.

导致整个推选机制出现问题.

如何有效降低脑裂现象的发生: 增加主节点的数量!!

实际:一般在工作中主节点的数量一般大于等于7

3. Redis集群高可用推选原理

图- 24

原理说明:

Redis的所有节点都会保存当前redis集群中的全部主从状态信息.并且每个节点都能够相互通信.当一个节点发生宕机现象.

则集群中的其他节点通过PING-PONG检测机制检查Redis节点是否宕机.当有半数以上的节点认为宕机.则认为主节点宕机.

同时由Redis剩余的主节点进入选举机制.投票选举链接宕机的主节点的从机.实现故障迁移.

特点:集群中如果主机宕机,那么从机可以继续提供服务,

当主机中没有从机时,则向其它主机借用多余的从机.继续提供服务.如果主机宕机时没有从机可用,则集群崩溃.

1.1.1 Redis集群宕机条件

特点:集群中如果主机宕机,那么从机可以继续提供服务,

当主机中没有从机时,则向其它主机借用多余的从机.继续提供服务.如果主机宕机时没有从机可用,则集群崩溃.

答案:9个redis节点,节点宕机5-7次时集群才崩溃.

如图-25所示:

1.1.1 Redis hash槽存储数据原理

说明: RedisCluster采用此分区,所有的键根据哈希函数(CRC16[key]&16383)映射到0-16384槽内,共16384个槽位,每个节点维护部分槽及槽所映射的键值数据.根据主节点的个数,均衡划分区间.

 算法:哈希函数: Hash()=CRC16[key]&16384按位与

补充知识:

   Redis集群中一共可以有多少个主节点:

   答案:16384个!!!!

如图-26所示

当向redis集群中插入数据时,首先将key进行计算.之后将计算结果匹配到具体的某一个槽的区间内,之后再将数据set到管理该槽的节点中.

如图-27所示

 

 

 

 

1.1    京淘后台总结

 

 

项目调用图解

 

1.1.1 Ruby介绍

 

 

 

1.1.1 伪静态技术

伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。

或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。

怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。就是展示出来的是以html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的。

 

posted on 2019-03-18 15:03  斗鬼魂  阅读(111)  评论(0)    收藏  举报

导航