【Redis】Redis三种集群模式(如何保证高可用)

一、主从模式

        1、需求

       为了避免单点故障,通常的做法是将数据库复制多个副本部署在不同的服务器上。这样,即使有一台服务器出现了故障,其他服务器仍然可以继续提供服务。 

       为此,Redis提供了复制(replication)功能,可以实现当一台数据库中的数据更新后,自动将更新的数据同步到其他数据库上。

       2、分工

       在复制的概念中,数据库分为两类。一类是主数据库(master),一类是从数据库(slave)。 master可以进行读写操作,当写操作发生变化时,会自动将数据同步给slave。slave一般只提供读操作,并接收主数据库同步过来的数据。一个master可以对应多个slave。一个slave只能对应一个master。

       引入主从复制的目的有两个:一是读写分离,分担master的压力。二是容灾备份。 

       3、原理

                                                       

       ① slave启动成功之后,连接master,发送sync命令;

       ② master接收sync命令之后,开始执行BGSAVE命令生成RDB文件,并使用缓冲区记录此后执行的所有写命令。

       ③ master执行完BGSAVE后,向所有的slave发送快照文件。并在发送期间记录被执行的写命令。

       ④ slave接收到快照文件后载入收到的快照。

       ⑤ master快照发送完毕后,开始向slave发送缓冲区的写命令。

       ⑥ salve完成对快照文件的加载,开始接受命令请求。并执行主数据库缓冲区的写命令。(从数据库初始化完成。)

       ⑦ master每执行一个写命令就像slave发送相同的写命令。slave接受并执行写命令。(从数据库初始化完成后的操

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中提到,哨兵模式是为了实现Redis高可用性。当一个master节点宕机时,需要大部分的哨兵节点都同意才能进行故障转移,确保系统的正常工作。即使部分哨兵节点挂掉了,哨兵集群仍然能够正常工作,因为哨兵选举流程是分布式的。\[1\] 引用\[2\]中提到,哨兵的功能包括集群监控、消息通知、故障转移和配置中心。它负责监控Redis的主节点和从节点是否正常工作,并在主节点宕机时自动将其转移到从节点上。同时,哨兵还负责通知客户端新的主节点地址,确保客户端能够正确连接到Redis集群。\[2\] 引用\[3\]中提到,Redis集群模式使用了hash slot来实现节点的增加和移除,这使得增加和移除节点的成本非常低。当增加一个主节点时,只需要将其他主节点的hash slot移动部分过去;当减少一个主节点时,只需要将其hash slot移动到其他主节点上。这种机制使得Redis集群模式具有高可用性。\[3\] 综上所述,Redis的哨兵模式集群模式都是为了实现高可用性。哨兵模式通过故障转移来保证系统的正常工作,而集群模式通过使用hash slot来实现节点的增加和移除,从而实现高可用性。 #### 引用[.reference_title] - *1* *2* *3* [Redis 哨兵模式集群模式](https://blog.csdn.net/weixin_43889841/article/details/117483197)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值