Redis——哨兵模式

哨兵模式

主从切换技术的方法是:当主服务器宕机后,需要手动的把一台服务器切换为主服务器,需要人攻的干预,会造成一段时间内服务不可用。Redis从2.8开始提供了Sentinel(哨兵)架构来解决这个问题。

哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独独立的进程,会独立运行。原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。

哨兵模式的主要规则:

当原主机宕机后,哨兵集群会投票从从机中选出一个新的主机,就算旧主机回来了也只能当新主机的从机。

作用:

  1. 通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。
  2. 当哨兵检测到master宕机,会自动将slave切换成master,然后通过发布订阅通知其他的从服务器,修改配置文件,让他们切换主机。

然而一个哨兵进程对Redis服务器进行监控,可能会出现问题,所以可以使用多个哨兵进行监控,各个哨兵之间还会进行监控,这样就形成了多哨兵模式。

 

测试

1、新建一个哨兵的配置

vim sentinel.conf

2、sentinel.conf中的配置

#sentinel monitor 监控的名称 host port 1
sentinel monitor myredis 127.0.0.1 6379 1

后面的数字1,代表主机挂了,哨兵投票看让谁接替为主机。票数最多的成为主机。

3、开启哨兵

redis-sentinel rconfig/sentinel.conf 

4、让主机宕机进行测试

从机6381被投票为主机

5、哨兵日志

6、如果此时主机回来了,也只能归并到新的主机下,当作从机,这就是哨兵模式的规则。

这样就模拟哨兵模式的工作,不过在实际工作中,需要有多个哨兵相互监督,主机宕机后一起投票。

 

哨兵模式的优缺点

优点:

  1. 哨兵集群,基于主从复制模式,所有的主从配置优点他都有。
  2. 主从可以切换,故障可以转移,系统的可用性就会更好
  3. 哨兵模式就是主从模式的升级,从手动到自自动

缺点:

  1. redis不好在线扩容,集群容量一旦到达上限,在线扩容就十分麻烦
  2. 实现哨兵模式的配置很麻烦。
要测试Redis哨兵模式,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装并配置了Redis服务器和哨兵节点。您可以根据Redis官方文档进行安装和配置。 2. 启动Redis服务器和哨兵节点。您需要启动一个或多个Redis实例作为master和slave,并启动至少一个哨兵节点来监控这些实例。 3. 通过运行"redis-cli"命令连接到其中一个Redis实例,使用"INFO replication"命令检查当前的主从关系。您应该能够看到一个master实例和至少一个slave实例。 4. 在主节点上执行一些写操作,例如使用"SET"命令设置一个键值对。然后,使用"GET"命令在主节点和从节点上验证数据同步。 5. 关闭主节点,可以通过停止主节点的Redis进程模拟主节点宕机。等待一段时间,哨兵节点会检测到主节点不可达,并触发自动故障转移。 6. 检查哨兵节点的日志,您应该能够看到它们选择一个新的主节点并将其他节点切换为从节点。 通过这些步骤,您可以测试Redis哨兵模式,验证它的自动故障转移功能。请注意,具体的操作步骤可能会因您的环境和配置而有所不同,请确保参考Redis官方文档以获得更详细的指导。 [2 [3<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [面试高频考点——Redis哨兵模式概念、细节、配置及测试](https://blog.csdn.net/qq_52355487/article/details/122694483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [redis哨兵模式测试](https://blog.csdn.net/qq_33101675/article/details/80640176)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值