您现在的位置是:亿华云 > 数据库
Redis中主从、哨兵、分片集群入门篇
亿华云2025-10-09 13:40:26【数据库】2人已围观
简介redis的应用场景很多,不管是在数据存储还是分布式锁等方面,本篇文章主要对主从、哨兵、分片集群做一个简单的分析,不会讲的太深。主从模式主从模式的应用场景有点类似于数据库的主从集群,主从往往是为了读写
redis的中主应用场景很多,不管是哨兵在数据存储还是分布式锁等方面,本篇文章主要对主从、分片哨兵、集群分片集群做一个简单的入门分析,不会讲的中主太深。
主从模式
主从模式的哨兵应用场景有点类似于数据库的主从集群,主从往往是分片为了读写分离、backup 等目的集群才使用的,所谓主从模式简单的入门说就是有多个节点,里面包含主节点和从节点,中主结构如下图:

从节点在保持连接后每隔一个时间节点会主动的哨兵和主节点通信并发送同步请求,而后进行同步。分片

其实在整个流程中,集群最需要主要的入门就是数据间的同步,主要的同步方式有两种也就是全量同步和增量同步。云服务器
全量同步:全量同步一般使用在从节点刚接入主节点时进行全量复制,当然你也可以根据你的需求进行主动的全量同步
增量同步:Redis增量复制是指从节点初始化后开始正常工作时主服务器发生的写操作同步到从服务器的过程。 增量复制的过程主要是主服务器每执行一个写命令就会向从服务器发送相同的写命令,从服务器接收并执行收到的写命令,一般使用缓冲区、队列(先进先出)等方式辅助进行增量的同步。
哨兵模式
哨兵模式是为了保证redis的高可用产生的架构,简单地说就是通过构建1个或多个哨兵对节点进行监控,如果master发生故障下线之后,哨兵之间会进行投票,在2.8之后使用的是Raft算法进行master选举,关于这个算法其实这个算法也应用于zookeeper和某些网络拓扑中,简单说就是在选举的过程可通信节点达成共识后那个投票选举master,而后进行故障转移操作。

哨兵是免费信息发布网作为一个进程单独运行在redis中,哨兵之间也是通过该进程进行通信的,这一点和zookeeper的原理也是类似的,假设一个6节点3个哨兵的集群的结构应该如下图:

那么哨兵是如何监控master下线的呢?
前面也有看到哨兵之间会进行集群的检测和哨兵之间的互相监测,但是哨兵不用做什么配置,因为哨兵巧妙的利用了master的发布/订阅机制去自动发现其它也监控了统一master的sentinel节点,在监测master方面一般分为两种:
主观下线(Subjectively Down, 简称 SDOWN)指的是单个 Sentinel 实例对服务器做出的下线判断。
客观下线(Objectively Down, 简称 ODOWN)指的是多个 Sentinel 实例在对同一个服务器做出 SDOWN 判断, 并且通过命令互相交流之后, 得出的服务器下线判断。服务器托管 一个 Sentinel 可以通过向另一个 Sentinel 发送命令来询问对方是否认为给定的服务器已下线。
分片集群
在上面的部分不管redis主从,还是高可用的 sentinel 哨兵模式。我们所做的这些工作只是保证了数据备份以及高可用,目前为止我们的程序一直都是向1台redis写数据,其他的redis只是备份而已。在实际使用中一般分片集群使用较多,我为什么要特意强调是分片集群呢,其实上面所说的主从和哨兵都是集群但是他们都是备份式的集群,实际数据是由一台进行控制的,所谓分片其实是将不同的数据按照一定的分布规则分布在不同的机器上

在redis中,我们的应用在存取数据的时候需要根据一定的算法(一致性hash)进行计算和存取 ,那么在redis中如何实现数据分片的呢? 首先Redis至少存在三个数据分片,每个分片称为master,假设整个cluster有N个节点,那么每个节点都和其他N-1个节点保持连接和心跳,节点之间相互通信主要确认节点是否存活、节点的数据版本、投票选择新的master等

那么我们最终的集群结构大致如下:

很赞哦!(1268)
相关文章
- 什么是im域名?新手需要了解im域名哪些?
- 中文域名对企业来说怎样?具体有哪些好处?
- 面对域名投资需要知晓什么?域名投资有什么看法?
- 有价值的域名都是来自哪的?新手找域名这里不可忽视
- 其次,一般域名注册有一个获取密码的按钮,域名注册商点击后会向您发送密码。在得到域名注册商发送的密码后,将其传输到域名服务提供商网站,然后输入密码,此时域名呈现申请状态。提交申请后,原注册人通常会向您发送一封电子邮件,询问您是否同意转让。此时,您只需点击同意转移按钮,域名注册商就可以成功转移。
- 为什么现在中文域名逐步起来了?中文域名有什么趋势?
- 为什么love域名抢不停?love域名有何寓意?
- 选域名有些容易忽略的地方?小白选域名要知道什么?
- 当投资者经过第二阶段的认真学习之后又充满了信心,认为自己可以在市场上叱咤风云地大干一场了。但没想到“看花容易绣花难”,由于对理论知识不会灵活运用.从而失去灵活应变的本能,就经常会出现小赢大亏的局面,结果往往仍以失败告终。这使投资者很是困惑和痛苦,不知该如何办,甚至开始怀疑这个市场是不是不适合自己。在这种情况下,有的人选择了放弃,但有的意志坚定者则决定做最后的尝试。
- 新手需要查询域名年龄吗?域名年龄有何影响?