4.1 Redis-Cluster?简介
4.1.1?什么是?Redis-Cluster
为何要搭建?Redis?集群。Redis?是在内存中保存数据的,而我们的电脑一般内存都不大,这也就意味着?Redis?不适合存储大数据,适合存储大数据的是?Hadoop?生态系统的?Hbase?或者是?MogoDB。Redis?更适合处理高并发,一台设备的存储能力是很有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群。
Redis?集群搭建的方式有多种,例如使用客户端分片、Twemproxy、Codis?等,但从redis 3.0?之后版本支持?redis-cluster?集群,它是?Redis?官方提出的解决方案,Redis-Cluster?采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。其?redis-cluster?架构图如下:??
客户端与?redis?节点直连,不需要中间?proxy?层.客户端不需要连接集群所有节点连接集群中任何一个可用节点即可。
所有的?redis?节点彼此互联(PING-PONG?机制),内部使用二进制协议优化传输速度和带宽
4.1.2?分布存储机制-槽?
(1)redis-cluster?把所有的物理节点映射到[0-16383]slot?上,cluster?负责维护node<->slot<->value
(2)Redis?集群中内置了?16384?个哈希槽,当需要在?Redis?集群中放置一个?key-value时,redis?先对?key?使用?crc16?算法算出一个结果,然后把结果对?16384?求余数,这样每
个?key?都会对应一个编号在?0-16383?之间的哈希槽,redis?会根据节点数量大致均等的将哈希槽映射到不同的节点。
例如三个节点:槽分布的值如下:
SERVER1: 0-5460
SERVER2: 5461-10922
SERVER3: 10923-16383
4.1.3?容错机制-投票
(1)选举过程是集群中所有?master?参与,如果半数以上?master?节点与故障节点通信超过(cluster-node-timeout),认为该节点故障,自动触发故障转移操作.?故障节点对应的从节点自动升级为主节点
(2)什么时候整个集群不可用(cluster_state:fail)?
如果集群任意?master?挂掉,且当前?master?没有?slave.集群进入?fail?状态,也可以理解成集群的?slot?映射[0-16383]不完成时进入?fail?状态.?
做机械外贸什么网站好/最新seo网站优化教程
做机械外贸什么网站好,最新seo网站优化教程,jsp简述网站开发流程,给网站做伪静态4.1 Redis-Cluster 简介4.1.1 什么是 Redis-Cluster为何要搭建 Redis 集群。Redis 是在内存中保存数据的,而我们的电脑一般内存都不大,这也就意味着 Redis 不适合存储大数据,适合存储大数据的是 Hadoop 生态系统的 Hbase 或者是 MogoDB。Redi…