最新的高端网站建设,wordpress主题手机主题,做游戏难吗比做网站,施工企业环境管理体系文件【Redis】Redis哨兵模式
Redis主从模式当主服务器宕机后#xff0c;需要手动把一台从服务器切换为主服务器#xff0c;需要人工干预费事费力#xff0c;为了解决这个问题出现了哨兵模式。
哨兵模式是是一个管理多个 Redis 实例的工具#xff0c;它可以实现对 Redis 的监控…【Redis】Redis哨兵模式
Redis主从模式当主服务器宕机后需要手动把一台从服务器切换为主服务器需要人工干预费事费力为了解决这个问题出现了哨兵模式。
哨兵模式是是一个管理多个 Redis 实例的工具它可以实现对 Redis 的监控、通知、自动故障转移是Redis实现高可用的方案。哨兵模式能够在发生故障时自动触发故障转移流程从而保证集群的高可用性。
哨兵模式概述
Redis 可以存在多台服务器并且实现了主从复制的功能。哨兵模式是一种特殊的模式在 Redis 中哨兵是一个独立的进程。其原理是哨兵通过发送命令等待 Redis 服务器响应从而监控运行的多个 Redis 实例是否可以正常工作如下图所示。 通过发送命令让 Redis 服务器返回其运行状态包括主服务器和从服务器。当哨兵监测到主机出现故障后会自动将其中一台从服务器切换成主服务器然后通过发布订阅模式通知其他的从服务器修改配置文件让它们切换新的主服务器。
但是在现实中一个哨兵进程监控 Redis 服务器也可能出现问题因为这个哨兵进程本身也可能出现故障。为了处理这个问题可以使用多个哨兵监控而各个哨兵之间还会相互监控这样就变为了多个哨兵模式。除了监控各个 Redis 主从服务器各个哨兵之间还会互相监控看看哨兵们是否还“活”着。其关系如下图所示。 论述一下故障切换 (failover) 的过程假设主服务器宕机哨兵1先监测到这个结果当时系统并不会马上进行 failover 操作而仅仅是哨兵1 主观地认为主服务器已经不可用这个现象被称为主观下线。当后面的哨兵也监测到了主服务器不可用并且有了一定数量的哨兵认为主服务器不可用后哨兵之间就会形成一次投票。通过哨兵之间的投票机制选出新的主服务器后就会通过发布订阅方式让各个哨兵对自己监控的服务器进行切换主服务器操作这个过程被称为客观下线。这样对于 Redis 客户端而言一切都是透明的。
故障转移流程
故障转移需要选择一个slaver节点来作为master。
选择主Maseter过程大致如下:
选择优先级最高的节点通过sentinel配置文件中的replica-priority配置项这个参数越小表示优先级越高如果第一步中的优先级相同选择offset最大的offset表示主节点向从节点同步数据的偏移量越大表示同步的数据越多如果第二步offset也相同选择run id较小的
这样通过以上四大步骤实现由Redis Sentinel自动完成故障发现和转移实现自动高可用。
Redis 哨兵模式的优缺点
哨兵模式优点最大的优点就是主从可以自动切换系统更健壮可用性更高
哨兵模式缺点最大的缺点就是还要多维护一套哨兵模式实现起来也变的更加复杂增加维护成本
最大的缺点就是还要多维护一套哨兵模式实现起来也变的更加复杂增加维护成本