目的:解决Redis主从方式部署的单点问题及故障恢复,实现高可用。
一、Redis主从部署情况
由于测试环境没有多余的服务器,来搭建真实的集群。只能在同一台服务器上根据端口的不同来虚拟不同的服务器。
部署方式:采用一主两从。
主:
ip及端口:
127.0.0.1 15880
主要配置:
port、requirepass、dir、logfile等。
从1:
ip及端口:
127.0.0.1 15881
主要配置:
port、requirepass、dir、logfile等。
slave配置:
slaveof 127.0.0.1 15880
masterauth “xxx”
从2:
ip及端口:
127.0.0.1 15882
配置同从1
配置好之后,启动三个redis实例,并登陆redis-cli运行info命令,查看各个实例信息。此时master实例的Replication信息中role为master,其余了两个从实例为slave。证明部署成功。
注:redis主从配置尽量保持一致。
二、Sentinel配置
部署方式:部署3个Sentinel实例。端口:26379、26380、26381。
注:具体要配置几个Sentinel实例,要根据Redis架构来考虑。具体参考官方Sentinel文档说明
主要配置项:
port、dir、sentinel myid(不要重复)、sentinel monitor 、sentinel auth-pass。
具体配置如下:
port 26379
dir "/usr/local/redis-service/master_15880"
daemonize yes
logfile "/opt/redis/logs/15882/sentinel.log"