Redis Sentinel
シャーディングを伴わないRedisの高可用性(HA)構成。3つ以上のSentinelプロセスがマスターとレプリカを監視し、フェイルオーバーはクォーラムの投票で決める。クライアントは現在のマスターのアドレスをSentinelに尋ねる。
データが1台のマスターに収まるなら、Clusterより単純だ。Clusterとの違いは、SentinelがHAだけを担い、ClusterはHAとシャーディングの両方を担う点にある。クライアントライブラリ(Jedis、Lettuce、ioredis)にはSentinel対応モードがあり、マスターの探索を隠してくれる。フェイルオーバーには通常5〜30秒かかる(down-after-millisecondsとfailover-timeoutで調整可能)。ネットワーク分断とクォーラム喪失が重なるとスプリットブレインの危険がある。現代の代替としては、ElastiCacheやMemoryDBのようなマネージドサービスが、Sentinelの仕組みを意識させなくしている。