Heim >PHP-Framework >Laravel >Nutzung und Konfiguration von Redis Sentinel in Laravel

Nutzung und Konfiguration von Redis Sentinel in Laravel

步履不停
步履不停Original
2019-06-28 17:39:003984Durchsuche

Nutzung und Konfiguration von Redis Sentinel in Laravel

Master-Slave-Konfiguration (Master-Slave)

  • Kopieren Sie die Redis-Konfigurationsdatei, um mehrere Slaves zu öffnen
sudo cp / etc/redis.conf /etc/redis-6381.conf

sudo cp /etc/redis.conf /etc/redis-6382.conf

  • Bearbeiten Sie die Slave-Konfigurationsdatei , hauptsächlich Parameter ändern
port 6381

pidfile "/var/run/redis-6381.pid"

logfile "/var/log/redis/redis-6381.log"

slaveof 11.11.11.11 6381

masterauth "123456" # 主从都保持一样的密码,且 master 的配置也需要这一行,在执行切换 master 的时候好像不会去添加这一行
  • /usr/bin/redis-server /etc/redis.conf Starten Sie Redis über die Konfiguration

Sentinel-Konfiguration (Sentinel)

  • Kopieren Sie die Sentinel-Konfiguration und aktivieren Sie hier 3 Sentinels
sudo cp /etc/redis-sentinel.conf /etc/redis-sentinel-26381.conf

sudo cp / etc/redis-sentinel.conf /etc/redis-sentinel-26382.conf

  • Bearbeiten Sie die Sentinel-Konfigurationsdatei wie folgt die spezifische Situation
port 26381

pidfile "/var/run/redis-sentinel-26381.pid"

logfile "/var/log/redis/redis-sentinel-26381.log"

sentinel monitor mymaster 11.11.11.11 6379 2 #主节点别名为mymaster,后面是ip和端口,2代表判断主节点失败至少需要2个sentinel节点同意

sentinel auth-pass mymaster 123456

sentinel down-after-milliseconds mymaster 30000 #主节点故障30秒后启用新的主节点

sentinel parallel-syncs mymaster 1 #故障转移时最多可以有1个从节点同时对主节点进行数据同步,数字越大,用时越短,存在网络和 IO 开销

sentinel failover-timeout mymaster 180000 #故障转移超时时间180s:a 如果转移超时失败,下次转移时时间为之前的2倍;b 从节点变主节点时,从节点执行 slaveof no one 命令一直失败的话,当时间超过180S时,则故障转移失败;c 从节点复制新主节点时间超过180S转移失败
  • /usr/bin/redis-sentinel /etc/redis-sentinel.conf Starten Sie den Sentinel über die Konfiguration

Laravel Sentinel-Konfiguration

'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'  => [
                    'host'     => env('REDIS_HOST', '127.0.0.1'),
                    'port'     => env('REDIS_PORT', 6379),
                    'password' => env('REDIS_PASSWORD', null),    //redis的密码,没有时写null
                    'database' => 0,
                ],
            ],
        ]

Weitere Laravel-bezogene Technologien Artikel, besuchen Sie bitte die Spalte Laravel-Tutorial, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonNutzung und Konfiguration von Redis Sentinel in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn