开发者学堂课程【Redis 入门到精通(进阶篇):主从复制简介】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/765/detail/13447
主从复制简介
本章主要的内容为主从复制的简介,主从复制的理解比操作较为重要,故此章的内容也是较为重要的。
一,主从复制的简介
1.互联网“三高”架构
(1).高并发
解释为要求所搭建的环境必须能够支持更大量的用户来同时访问我们的服务器,这样应用才会有一个较好的一个感受、向往,不会使很多用户在那卡着或者等待。
(2).高性能
(3).高可用
假定有一台服务器,现在已经运行了,在一月份的时候,刚刚搭建起来,可能有一些部分,做的还不太好,它在十号这天服务器宕机了四个多小时。然后到了二月份。又出现了一次宕机,21号宕机,这次时间较短,宕机十几分钟。之后到了三月份的时候,一切运行良好,到四月份的时候,一切运行良好,到了五月份,例行重启,结果服务器又不能提供服务了两分多钟。当然这只是一个模拟数据,一次服务器的重启两分钟是不够的。那么再往后,六月七月一直到今年的年底,一直没有出问题,这里,就可以把这三个数字做一个计算。一年之内,服务器一共宕机,60多万。服务器的可用性是全年的时间减去。服务器对外不可提供服务的总时长,再除以全年的时间得到一个百分比,这个百分比就是服务器的可用性。高可用就是指业界所追求的目标,要求达到一个极限值。我们说五个九。五个九的概念就是服务器宕机,全年平均时长是低于五分钟的,5.25分钟只要低于这个值就可以达到五个九。这实际上是一个理论,是努力的目标,但实际上并不一定能够达成,有些能够达到四个九已经是很厉害。那么服务器其实最终就是要追求这种高可用性,保证客户连接是一个非常良好的状态。
此图为计算的过程及结果,可供参考:
2.你的“Redis”是否高可用
单机 redis 的风险与问题
(1).问题:机器故障
①现象:硬盘故障、系统崩溃
②本质:数据丢失,很可能对业务造成灾难性打击结论:基本上会放弃使用redis.
(2).问题:容量瓶颈
①现象:内存不足,从 16G 升级到 64G,从 64G 升级到 128G,无限升级内存
②本质:穷,硬件条件跟不上
③结论:放弃使用 redis
(3)结论:
为了避免单点 Redis 服务器故障,准备多台服务器,互相连通。将数据复制多个副本保存在不同的服务器上,连接在一起,并保证数据是同步的。即使有其中一台服务器宕机,其他服务器依然可以继续提供服务,实现 Redis 的高可用,同时实现数据冗余备份。
3.多台服务器链接方案
(1).提供数据方:master
主服务器,主节点,
主库主客户端
(2).接收数据方:slave
从服务器,从节点,
从库从客户端
(3).需要解决的问题:
数据同步
(4).核心工作:
master 的数据复制到 slave 中
详细解释为,找一台计算机,然后再给它配上多台,让它们之间相互连接起来。连接完以后,让上面这个计算机。专负责一件事,比如说收集数据、写数据。让它专门做这一件事,之后下边的分支,它们是只负责读数据。这里可以看出,由上面提供给下面。而这个过程,我们叫做同步数据。使用这种形式,也就能实现高可用。定义名称时对上面的这个专门负责收集数据的,起名叫做 master。也可以叫做主服务器,主接点,主库。连接它的客户端,叫做主客户端,而下面的这个,我们叫做 slave。这些机器专门负责负责提供对外的数据,可以称它为从服务器、从结点,从库连接它的客户端,我们叫从客户端。后面的课程在介绍的时候说到主服务器,主节点,主库主客户端和从服务器从几点,从库从客户端,通常会用 master 和 slave 来做这两个部分的说明。做完以后,架构搭好了,要解决的问题就是数据同步,只要保证数据同步,下边才能够完成。对应的核心工作是 master端的数据能够复制到下面的 slave。
4.总结
主从复制即将 master 中的数据即时、有效的复制到 slave 中
(1).特征:一个 master 可以拥有多个 slave,一个 slave 只对应一个master
(2)职责:
①master:
写数据
执行写操作时,将出现变化的数据自动同步到 slave 读数据(可忽略)
②slave:
读数据
写数据(禁止)
