简介
Redis Sentinel 是 Redis 官方提供的一套自动化高可用解决方案,它可以监控 Redis 主从节点的状态,自动发现节点,自动进行故障转移等诸多自动化操作,从而保证 Redis 系统的高可用。 Redis Sentinel 是一个分布式的系统,主要由 Sentinel 节点和 Redis 节点组成,其中 Sentinel 节点负责监控 Redis 节点的状态,定时向 Redis 节点发送心跳包,当发现 Redis 节点宕机或者不可用时,通过自动发现机制将 Redis 节点下线,同时将一台从 Redis 节点自动升级为主 Redis 节点,继续提供服务。
如何使用 Redis Sentinel?
安装 Redis Sentinel
安装 Redis Sentinel 的方法和安装 Redis 主从模式是一样的,可以通过 apt、yum、源码方式进行安装。
Redis 配置
基于 Sentinel,我们需要对 Redis 进行一些配置。
-- -------------------- ---- ------- - ---------- ---- ---- ---- --------- --------- --- ------- ----------------------- -------- ------ ------- ----------------------- --- ------------------- - -------- -------- ------- -------- --------- ---- - -------- ----------------------- -------- ----- -------- ---------------- -------- ------ -------- -------------- -------- -
其中,sentinel monitor 用于声明一个名为 mymaster 的 Redis 主实例,并且指定它的地址、端口和样本数。sentinel down-after-milliseconds 指定一个 Sentinel 观测到 Redis 服务器失效需要多少毫秒后才能进行重新选举,sentinel failover-timeout 的值表示主服务器失效后 Sentinel 要完成故障转移操作的时间(超时秒数),sentinel parallel-syncs 表示选出来新的 Redis 主节点之后,从节点需要和新的 Redis 主节点同步的数量,并行同步的数量如果多的话,意味着同步的速度会加快。
Redis Sentinel 节点配置
Redis Sentinel 节点的配置文件格式与 Redis 配置文件格式相同,我们对 Redis Sentinel 配置 \sentinel.conf 进行修改,主要修改 master 的 IP 地址和端口,并指定其他 sentinels,以便在 master 宕掉时 Sentinel 节点使用。。
-- -------------------- ---- ------- - ------------- ---- ----- ---- --------- --------- --- ------- --------------------------- -------- ------ ------- --------------------------- --- ----------------------- - ----- -------- -------- ------- -------- --------- ---- - -------- ----------------------- -------- ----- -------- ---------------- -------- ------ -------- -------------- -------- -
其中,sentinel monitor 同样用于声明一个名为 mymaster 的 Redis 实例,其他与 Redis 配置一致。
启动 Redis Sentinel
进入 Redis Sentinel 的配置目录 /etc/redis,使用以下命令启动 Sentinel:
/usr/bin/redis-sentinel /etc/redis/sentinel.conf
Redis Sentinel 与 Redis CI
Redis Sentinel 和 Redis CI(Continuous Integration) 的作用是不同的。Redis Sentinel 是高可用性解决方案,长时间运维效果非常显著,而 Redis CI是一套自动化测试解决方案,能够有效的保证 Redis 的稳定性。
总结
本文主要介绍了 Redis 高可用方案 Redis Sentinel,对 Sentinel 进行了详细介绍,包括配置、启动等。Redis Sentinel 是一套置信度非常高的解决方案,若公司 Redis 主从结构较为复杂,可将此方案引入系统中发挥其优势。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64853f5548841e9894424d25