当前位置: 首页 > 后端技术 > PHP

Laravel中Redissentinel的使用和配置

时间:2023-03-30 01:19:38 PHP

主从配置(master-slave)复制redis配置文件,启用多个slavesudocp/etc/redis.conf/etc/redis-6381.confsudocp/etc/redis.conf/etc/redis-6382.confeditslave配置文件,主要修改参数port6381pidfile"/var/run/redis-6381.pid"logfile"/var/log/redis/redis-6381.log"slaveof11.11.11.116381masterauth"123456"#master和slave都保持同样的密码,master的配置也需要这一行。好像切换master的时候不会加这一行。这里开启3个sentinelsudocp/etc/redis-sentinel.conf/etc/redis-sentinel-26381.confsudocp/etc/redis-sentinel.conf/etc/redis-sentinel-26382.conf编辑sentinel配置文件,主要修改参数如下,配置端口26381pidfile"/var/run/redis-sentinel-26381.pid"logfile"/var/log/redis/redis-sentinel-26381.log"sentinelmonitormymaster11.11.11.1163792#master节点的别名是mymaster,后面是ip和port,2表示判断master节点故障至少需要2个sentinel节点同意sentinelauth-passmymaster123456sentineldown-after-millisecondsmymaster30000#激活新的masternodeaftermaster节点故障30秒sentinelparallel-syncsmymaster1#故障转移时,最多有一个从节点可以同时与主节点同步数据。数字越大,时间越短,有网络和IO开销sentinelfailover-timeoutmymaster180000#Failover超时时间180s:a如果传输超时失败,则下一次传输的时间是之前的两倍;b当从节点成为主节点时,如果从节点一直未能执行slaveofnoone命令,当时间超过180S时,故障转移失败;c从节点复制新主节点超过180S传输失败/usr/bin/redis-sentinel/etc/redis-sentinel.conf通过配置启动sentinellaravelSentinel配置'default'=>['tcp://11.11.11.11:26379','tcp://11.11.11.11:26381','tcp://11.11.11.11:26382',//这3个是sentinel节点的地址'options'=>['replication'=>'sentinel','service'=>env('REDIS_SENTINEL_SERVICE','mymaster'),//sentinel'parameters'=>['password'=>env('REDIS_PASSWORD',null),//redis密码,没有'database'时写null=>0,],],]