ホームページ > PHPフレームワーク > Laravel > Laravel での Redis Sentinel の使用法と構成

Laravel での Redis Sentinel の使用法と構成

步履不停
リリース: 2019-06-28 17:39:00
オリジナル
3997 人が閲覧しました

Laravel での Redis Sentinel の使用法と構成

マスター/スレーブ構成(マスター/スレーブ)

  • Redis 構成ファイルをコピーして複数のスレーブを開きます
sudo cp /etc/redis.conf /etc/redis-6381.conf

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

  • スレーブ構成ファイルを編集する、主にパラメータを変更します
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 設定を通じて redis を起動します

Sentinel 設定(sentinel)

  • センチネル設定をコピーし、ここで 3 つのセンチネルを有効にします
sudo cp /etc/redis-sentinel.conf /etc/redis-sentinel-26381.conf

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

  • Sentinel 設定ファイルを編集し、主に次のようにパラメータを変更し、特定の状況に応じて設定します
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 設定を通じてセンチネルを開始します

laravel センチネル設定

'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,
                ],
            ],
        ]
ログイン後にコピー

その他の Laravel 関連テクノロジーの記事については、Laravel チュートリアル 列を参照して学習してください。

以上がLaravel での Redis Sentinel の使用法と構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート