问题一:故障转移操作包含哪些步骤?
故障转移操作包含哪些步骤?
参考回答:
主要包含三个步骤:
1)将失效Master的其中一个Slave升级为新的Master,并让其他Slave复制新的Master;
2)当客户端试图连接失效的Master时,集群会向客户端返回新Master的地址;
3)Master和Slave服务器切换后,相关的配置文件会发生相应的改变。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/629678
问题二:哨兵模式中的配置文件会在故障转移后发生什么变化?
哨兵模式中的配置文件会在故障转移后发生什么变化?
参考回答:
在哨兵模式中,当发生故障转移后,Master主服务器的redis.conf配置文件中会多一行replicaof的配置,指向新的Master。同时,sentinel.conf的监控目标也会随之调换,以反映新的主从关系。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/629679
问题三:集群模式是如何避免单一节点负载过高的?又是如何实现高可用性的?
集群模式是如何避免单一节点负载过高的?又是如何实现高可用性的?
参考回答:
集群模式采用一致性哈希算法或者哈希槽的方法将Key分布到各个节点上,以此避免单一节点负载过高导致的不稳定。
集群模式内部节点之间会定时探测对方是否存活。如果多数节点判断某个节点失效,则会将其踢出集群,并从Slave节点中选举出一个替补失效的Master节点,从而实现高可用性。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/629680
问题四:为什么写操作较多时推荐使用集群模式?
为什么写操作较多时推荐使用集群模式?
参考回答:
虽然集群模式内部同步数据时会占用一定带宽,但它避免了Master单节点的问题,提高了系统的写操作能力和稳定性。因此,在写操作较多的情况下,推荐使用集群模式。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/629681
问题五:如何利用Redis实现乐观锁?
如何利用Redis实现乐观锁?
参考回答:
可以利用Redis的watch功能监控key的状态值,然后获取key的值并在事务中给这个key的值加1。如果key的值在执行事务前被修改过,则事务会回滚,key的值不会增加,以此实现乐观锁。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/629682