首先要理解兩個(gè)概念:主觀下線(xiàn)和客觀下線(xiàn)
主觀下線(xiàn):任何一個(gè)哨兵都是可以監(jiān)控探測(cè),并作出Redis節(jié)點(diǎn)下線(xiàn)的判斷;
客觀下線(xiàn):有哨兵集群共同決定Redis節(jié)點(diǎn)是否下線(xiàn);
當(dāng)某個(gè)哨兵(如下圖中的哨兵2)判斷主庫(kù)“主觀下線(xiàn)”后,就會(huì)給其他哨兵發(fā)送 is-master-down-by-addr 命令。接著,其他哨兵會(huì)根據(jù)自己和主庫(kù)的連接情況,做出 Y 或 N 的響應(yīng),Y 相當(dāng)于贊成票,N 相當(dāng)于反對(duì)票。
如果贊成票數(shù)(這里是2)是大于等于哨兵配置文件中的 quorum 配置項(xiàng)(比如這里如果是quorum=2), 則可以判定主庫(kù)客觀下線(xiàn)了。