实现redis高可用机制的方法有哪些
实现redis高可用机制的方法有哪些?针对这个问题,这篇文章给出了相对应的分析和解答,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。
保证redis高可用机制需要redis主从复制、redis持久化机制、哨兵机制、keepalived等的支持。
主从复制的作用:数据备份、读写分离、分布式集群、实现高可用、宕机容错机制等。
redis主从复制原理
首先主从复制需要分为两个角色:master(主) 和 slave(从) ,注意:redis里面只支持一个主,不像Mysql、Nginx主从复制可以多主多从。
1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。
2、通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。
主从复制全量同步的过程:见下图
Redis主从复制可以根据是否是全量分为全量同步和增量同步
Redis全量复制一般发生在Slave初始化阶段,这时Slave需要将Master上的所有数据都复制一份。
全量同步过程:
1:当一个从数据库启动时,会向主数据库发送sync命令,
2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并用缓存区记录后续的所有写操作
3:当主服务器快照保存完成后,redis会将快照文件发送给从数据库。
4:从数据库收到快照文件后,会丢弃所有旧数据,载入收到的快照。
5: 主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令。
6: 从服务器完成对快照的载入,开始接收命令请求,并执行来自主服务器缓冲区的写命令。
增量同步的过程:
Redis增量复制是指slave初始化后开始正常工作时主服务器发生的写操作同步到从服务器的过程。
增量复制的过程主要是主服务器每执行一个写命令就会向从服务器发送相同的写命令,从服务器接收并执行收到的写命令。
Redis主从复制全量与增量同步的选择:
主从服务器刚刚连接的时候,会先进行全量同步;全同步结束后,再进行增量同步。当然,如果有需要,slave 在任何时候都可以发起全量同步。redis 策略是,无论如何,首先会尝试进行增量同步,如不成功,要求从机进行全量同步。
redis主从复制如何配置呢?
修改从服务器redis/conf中的redis.conf文件
修改IP地址和端口号为主服务器的IP和端口
slaveof 10.211.55.9 6379
masterauth 123456--- 如果主redis服务器配置了密码,则需要配置
只需要配置从服务器的redis.conf即可,主服务器无需配置。验证是否成功可以通过1、先登录主服务器redis-cli客户端,输入info。
若role显示master、slave0能正常显示从服务器的ip,则表示主从服务配置成功,主从复制配置成功了,也同时实现了读写分离,不信?你看看试试看你的从服务器还能不能写入操作了?
答案是:不能。从服务器只有读操作!
关于实现redis高可用机制的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341