主从复制:多副本

简介: 【10月更文挑战第6天】

主从复制:多副本

经过数据持久化以后,当Redis实例发生宕机时,就可以用持久化文件快速恢复Redis中的数据。但是恢复数据也依旧需要时间,在此期间业务依旧会无法提供服务,这时候就需要更好的方案
一个实例宕机,只能用恢复数据来解决,那么我们是否可以部署多个Redis实例,然后让这些实例的数据保持实时同步,这样当一个实例宕机时,在剩下的实例里选择一个继续提供服务就好了。
这也就是主从复制-多副本,其中实时读写的节点是master,另一个实时同步数据的节点是slave。
优点是:

  • 缩短不可用时间:master发生宕机,可以手动把slave提升为master继续提供服务
  • 提升读性能:slave可以承担一部分读请求,提升应用的整体性能
    缺点是:
    当master宕机的时候,需要手动把slave提升为master,这也是花费时间的,而且需要人工介入。
    所以需要把切换的过程变成自动化,这也就是一个故障自动切换机制,也就是常常听到的哨兵机制

    哨兵:故障自动切换

    引入一个观察者,实时监测master的健康状态,这个观察者就叫做哨兵。
    具体来说:
  1. 哨兵每隔一段时间就询问master是否正常
  2. master正常回复表示状态正常,回复超时表示异常
  3. 哨兵发生异常,发起主从切换

这里还会有一个问题是 如果master和哨兵之间的通信有网络异常,可能会产生误判。
解决方案是:部署多个哨兵让他们分布在不同的机器上,一起监测master的过程就变成了这样:

  1. 每个哨兵间隔一段时间就询问master是否正常
  2. 如果有一个哨兵判定master异常,就询问其他哨兵,如果有大于等于x个哨兵都认为master异常,才判定master发生了故障,进行主从切换。

    哨兵判定master异常后,还有一个问题:由哪个哨兵来发起主从切换呢?
    答案是选出一个哨兵领导者,由领导者进行主从切换。通过一定的选举规则和投票来选举哨兵领导者。

    • 每个哨兵都询问其他哨兵,请求对方为自己投票
    • 每个哨兵只投票给第一个请求投票的哨兵,而且只能投票一次
    • 首先拿到超过半数投票的哨兵,当选为领导者,发起主从切换。

这个选举过程就是分布式系统领域中的共识算法,在多个机器部署哨兵,它们需要共同协作完成一项任务,就组成了一个分布式系统。

目录
相关文章
|
7天前
|
Rust Ubuntu Linux
|
8天前
|
存储 弹性计算 固态存储
阿里云服务器收费标准租用价格及价格计算器使用参考
阿里云服务器租用价格参考,不同时期阿里云服务器的租用价格不同,2024年阿里云多款云服务器的收费标准都做了降价调整,最高降幅达93%,同时,阿里云还推出了多款价格比较实惠的云服务器,现在购买阿里云轻量应用服务器2核2G3M带宽82元1年,经济型e实例ECS云服务器2核2G3M带宽新购和续费优惠价99元1年,通用算力型u1实例2核4G5M带宽新购和续费优惠价199元1年,4核8G云服务器955元1年,本文为大家介绍一下阿里云服务器的最新收费标准租用价格以及使用价格计算器查询云服务器价格的方法。
|
11天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
738 27
|
Web App开发 弹性计算 关系型数据库
【MySQL数据库进阶实战】如何在云端创建MySQL数据库
冬季实战营第三期:MySQL数据库进阶实战 2月15日 动手实战-如何在云端创建MySQL数据库
1654 0
【MySQL数据库进阶实战】如何在云端创建MySQL数据库
|
6天前
|
缓存
CORS 报错的常见原因
【10月更文挑战第6天】
|
3月前
|
Linux 调度 数据库
Django使用django-apscheduler实现定时任务
【7月更文挑战第8天】定时任务可以在后台定时执行指定的代码,避免了很多人为操作。下面是在Django项目中如何使用定时任务的具体操作流程
346 1
|
3月前
|
算法 中间件 Java
分库分表的一般做法 中间件的形态
【7月更文挑战第14天】
89 0
|
16天前
|
机器学习/深度学习 人工智能 TensorFlow
利用AI技术实现智能垃圾分类
【8月更文挑战第67天】随着人工智能技术的不断发展,越来越多的应用场景开始涌现。本文将介绍如何利用AI技术实现智能垃圾分类,通过代码示例和实际应用案例,帮助读者了解AI技术在垃圾分类领域的应用价值和潜力。
67 19
|
11天前
|
存储 Serverless API
打造你的专属语音助手,基于函数计算托管 CosyVoice 语音模型
今天分享一下,基于阿里云函数计算 FC 以及 CAP(云应用开发平台),极速托管专属的 CosyVoice 应用。并且我们提供了 API 调用方案以及镜像构建源码方便您根据自己的业务任意 DIY。
109 10
|
1月前
|
运维 Ubuntu Linux
深入理解并实践Docker容器化技术
深入理解并实践Docker容器化技术
64 6