Resis Sentinel
Sentinel 简介
哨兵是基于主从模式做的一定变化,它能够为Redis提供了高可用性。在实际生产中,服务器难免不会遇到一些突发状况:服务器宕机,停电,硬件损坏等。这些情况一旦发生,其后果往往是不可估量的。而哨兵模式在一定程度上能够帮我们规避掉这些意外导致的灾难性后果。其实,哨兵模式的核心还是主从复制。只不过相对于主从模式在主节点宕机导致不可写的情况下,多了一个竞选机制——从所有的从节点竞选出新的主节点。竞选机制的实现,是依赖于在系统中启动一个sentinel进程。
- 监控。Sentinel会不断检查主实例和从属实例是否按预期工作。
- 通知。Sentinel可以通过API通知系统管理员,另一台计算机程序,其中一个受监控的Redis实例出现问题。
- 自动故障转移。如果主服务器未按预期工作,Sentinel可以启动故障转移过程,其中从服务器升级为主服务器,其他其他服务器重新配置为使用新主服务器,并且使用Redis服务器的应用程序通知有关新服务器的地址。连接。
- 配置提供商。Sentinel充当客户端服务发现的权限来源:客户端连接到Sentinels,以便询问负责给定服务的当前Redis主服务器的地址。如果发生故障转移,Sentinels将报告新地址
Redis-Sentinel 集群搭建
手头资源有限,故采用单机部署模拟集群(1主2从3哨兵)
角色 | IP:PORT
|
---|
master | 172.16.1.135:7001 |
slave-1 | 172.16.1.135:7002 |
slave-2 | 172.16.1.135:7003 |
sentinel-1 | 172.16.1.135:7004 |
sentinel-2 | 172.16.1.135:7005 |
sentinel-3 | 172.16.1.135:7006 |
目录结构参考 [Redis Cluster](./Redis Cluster.md)
在master
主机上,修改其部分配置文件:
在两个从服务器slave-1
和slave-2
主机上,修改其部分配置文件:
编辑三个 Sentinel 哨兵配置文件sentinel.conf
:
依次启动 master、slave-1、slave-2、Sentinel-1..3:
检查各服务启动状态:
登录master
主节点,查看集群状态:
模拟测试 master 宕机故障:
登录slave-2
查看集群状态:
可以发现slave-2
已经翻身做master
节点了~
Sentinel 管理命令