太原网站建设pnjfw,宝安网站设计师,高端网站设计技术分析,wordpress资源采集插件Redis这种基于内存的关系型数据库我们在选用的时候就是考虑到它的快。而且可以很方便的实现诸如分布式锁、消息队列等功能。
笔者在前一段秋招面试的时候就被提问#xff0c;“Redis是怎么保证高可用的#xff1f;” 后续的子问题包含#xff0c;集群模式是怎么实现的…Redis这种基于内存的关系型数据库我们在选用的时候就是考虑到它的快。而且可以很方便的实现诸如分布式锁、消息队列等功能。
笔者在前一段秋招面试的时候就被提问“Redis是怎么保证高可用的” 后续的子问题包含集群模式是怎么实现的 哨兵模式又是怎样工作的 哨兵的存在是怎么保证其他节点正常运行的 如果哨兵自己宕机了整个系统又怎么样 怎么保证高可用
Redis可以通过主从复制的方式来实现高可用。主节点负责处理客户端的请求从节点负责复制主节点的数据如果主节点出现故障从节点可以接管主节点的工作从而保证服务的可用性。
集群模式是怎么实现的
Redis的集群模式是通过将多个Redis实例组织成集群来实现的每个实例都可以充当主节点或从节点。集群模式解决的问题是提高Redis服务的可用性使得在主节点出现故障时可以自动将从节点升级为主节点从而保证服务的可用性。 哨兵模式是什么 哨兵模式是怎样组织与工作的
哨兵模式是一种基于规则的自动化管理系统用于监控Redis实例的状态并在需要时自动进行故障转移。在哨兵模式下Redis会创建一个或多个哨兵实例这些实例会定期检查Redis实例的状态并在检测到故障时自动将从节点升级为主节点从而保证服务的可用性。 哨兵模式下的故障细分为两种情况
当哨兵节点自己故障时它会从其他哨兵节点或主节点获取状态信息如果检测到主节点故障它会尝试将从节点升级为主节点。如果升级成功哨兵节点会将故障的主节点从集群中移除并将其从节点设置为新的主节点。 当哨兵节点检测到主节点故障时它会尝试将从节点升级为主节点。如果升级成功哨兵节点会将故障的主节点从集群中移除并将其从节点设置为新的主节点。此时客户端可以继续向新的主节点发送请求从而保证服务的可用性。
且这里仍然需要补充哨兵如何判断节点发生故障或判定下线
涉及两个新的概念主观下线和客观下线。
1. 主观下线一个哨兵节点判定主节点down掉是主观下线。
2.客观下线只有半数哨兵节点都主观判定主节点down掉此时多个哨兵节点交换主观判定结果才会判定主节点客观下线。
3.原理基本上哪个哨兵节点最先判断出这个主节点客观下线就会在各个哨兵节点中发起投票机制Raft算法选举算法最终被投为领导者的哨兵节点完成主从自动化切换的过程。 参考资料
图解Redis介绍 | 小林coding
2020-01-25redis中哨兵如何选举-腾讯云开发者社区-腾讯云
最近在看redis花了点时间整理了一下学习内容都是一些基础想学的可以看下 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn
Redis哨兵、复制、集群的设计原理与区别 - 知乎