玩转Redis的高可用(主从、哨兵、集群)基于以上,Redis集群方案显得尤为重要 。通常有3个途径:官方Redis Cluster;通过Proxy分片;客户端分片(Smart Client) 。以上三种方案各有利弊 。
Redis主从复制是指在一个Redis集群中,将一个Redis节点作为主节点,其余的Redis节点作为从节点 。主节点负责写入数据,从节点负责读取数据 。
哨兵集群 , 基于主从复制模式,所有的主从配置优点 , 它全有 。主从可以切换,故障可以转移 , 系统的可用性就会更好 。哨兵模式就是主从模式的升级,手动到自动,更加健壮 。集群容量一旦到达上限,在线扩容十分麻烦 。
这个哨兵模式才稳定下来 , 无论是主从模式,还是哨兵模式,这两个模式都有一个问题,不能水平扩容,并且这两个模式的高可用特性都会受到Master主节点内存的限制 。
主节点会定期将数据同步到从节点中,保证数据一致性的问题 。这种集群方式在运行时存在一些问题:Redis的哨兵机制就是解决主从复制存在缺陷(选举问题),解决问题保证我们的Redis高可用,实现自动化故障发现与故障转移 。
哨兵模式就是在主从模式的基础上再加一个哨兵集群 。每个哨兵都会监控主节点和从节点的状态 。如果主节点挂了,就会从从节点中选出一个来作为主节点,以达到高可用的目的 。
redis集群方案有哪些基于以上,Redis集群方案显得尤为重要 。通常有3个途径:官方Redis Cluster;通过Proxy分片;客户端分片(Smart Client) 。以上三种方案各有利弊 。
Redis官方集群方案 Redis Cluster Redis Cluster是一种服务器Sharding技术,0版本开始正式提供 。Redis Cluster中,Sharding采用slot(槽)的概念,一共分成16384个槽,这有点儿类pre sharding思路 。
使用Jedis带的客户端分片ShardedJedisPool类 。使用代理进行分片twemproxy,连接代理可以使用Jedis类(单链接)和JedisPool类(多链接) 。
Redis集群模式1-主从复制+哨兵机制传统的Redis集群采用的主从复制模式,一般为一主多从,主节点有读写权限,但是从节点只有读的权限 。主节点会定期将数据同步到从节点中,保证数据一致性的问题 。
哨兵模式是一种特殊的模式 , 首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行 。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例 。
因此,主从模式的一个缺点,就在于无法实现自动化地故障恢复。Redis后来引入了哨兵机制,哨兵机制大大提升了系统的高可用性 。哨兵,就是站岗放哨的 , 时刻监控周围的一举一动,在第一时间发现敌情并发出及时的警报 。
Redis 高可用的主要有三种模式: 主从模式,哨兵模式和集群模式 。Redis 提供了 Redis 提供了复制(replication)功能,当一台 redis 数据库中的数据发生了变化,这个变化会被自动地同步到其他的 redis 机器上去 。
集群监控,负责监控redis master 和slave进程是否正常工作 。(2)消息通知,如果某个redis实例有故障 , 那么哨兵负责发送消息作为报警通知给管理员 。(3)故障转移,如果master node挂掉了 , 会自动转移到slave node上 。
【redis集群有几种模式 redis集群模式以及特点】哨兵模式就是在主从模式的基础上再加一个哨兵集群 。每个哨兵都会监控主节点和从节点的状态 。如果主节点挂了,就会从从节点中选出一个来作为主节点 , 以达到高可用的目的 。
推荐阅读
- 如何查看虚拟机服务器的IP地址? 虚拟机服务器怎么看ip
- 如何使用Osiris搭建服务器? osiris怎么建服务器
- 如何在个人电脑上搭建服务器? 怎么用自己电脑设置服务器
- 如何在虚拟机服务器上绑定域名? 虚拟机服务器怎么绑定域名