created: 2021-02-18T07:29:10.000Z

Redis::Fast の sentinel 引数ってなに?

プロジェクトでこんな設定でRedisを動かしていたが、なんで動いているか分からなかった。 Redis::Fast のPODにはsentinelsのことは記載がない。

Redis::Fast->new(
    sentinels => ['redis-sentinel:26379']
    service => 'master'
    reconnect => 10
);

PODしか読んでいなかったが、PODに書いてないだけで、機能としては実装されていた。 最近はnpmパッケージと仕事をしていたので、わたくし甘やかされていました。

使い方の説明もこちらに書いてあった。

コネクションを作るときに sentinels を渡すと Redis Sentinel から接続情報を取ってきてくれます。 一緒に reconnect を設定しておいてあげると、Masterに何かあった時に接続情報を再取得→ 自動的に Slave へフェールオーバーしてくれます。

便利