在 sentinel 啟動故障轉移(failover)時需要滿足兩個條件:
- 確定 master 不可用的 sentinel 數量必須大于等于 quorum
- 大多數的 sentinel 之間必須可以通信(大多數的意思是兩臺就是2,三臺也是2,五臺就是3)
這里通信目的是選出誰來執行 failover 操作
知道了這兩點也就明白為什么不推薦使用兩臺 sentinel 做哨兵了。因為如果兩臺中的其中一臺哨兵宕掉后,就算你的 quorum 設置的是1,但是還是無法滿足第二個條件。
所以部署 sentinel 高可用的時候至少部署三臺。