1. 程式人生 > 資訊 >微軟 Win11 正式版還有 1 個 問題:不相容 VirtualBox 虛擬機器

微軟 Win11 正式版還有 1 個 問題:不相容 VirtualBox 虛擬機器

Sentinel(哨兵)是redis高可用的解決方案:由一個或多個Sentinel例項組成的Sentinel系統可以監視任意多個主伺服器,以及這些主伺服器屬下的所有從伺服器,並在被監視的主伺服器進行下線狀態時,自動將下線主伺服器屬下的某個從伺服器升級為新的主伺服器。

對每個被監視的主伺服器來說,Sentinel會建立兩個連向主伺服器的非同步網路連線:

  • 一個是命令連線,這個連線專門用來向主伺服器傳送命令,並接受命令回覆
  • 一個是訂閱連線,這個連線專門用來訂閱主伺服器的——sentinel_:hello頻道

為什麼需要兩個連線?

訂閱連線用來接收主伺服器的訊息,命令連線用來向主伺服器傳送命令(此時Sentinel相當於主伺服器的一個客戶端)

Sentinel會預設10秒1次,通過命令連線向主伺服器傳送info命令,獲得主伺服器以及主伺服器屬下的從伺服器資訊。

當Sentinel發現主伺服器有新的從伺服器出現時,Sentinel除了會為這個新的從伺服器建立相應的例項結構之外,Sentinel還會建立連線到從伺服器的命令連線和訂閱連線。Sentinel也會以10秒1次向從伺服器傳送info命令,獲得從伺服器的響應資訊。

當一個Sentinel與一個主伺服器或者從伺服器建立起訂閱連線之後,對於監視同一個伺服器的多個Sentinel來說,一個Sentinel傳送的資訊會被其他Sentinel接收到,這些資訊會被其他Sentinel接收到,這些資訊會被用於更新其他Sentinel對傳送資訊Sentinel的認知,也會被用於更新其他Sentinel對被監視伺服器的認知。

當Sentinel通過頻道資訊發現一個新的Sentinel時,會建立一個連向Sentinel的命令連線,而新的Sentinel也同樣會建立連向這個Sentinel命令連線。需要注意的是Sentinel之間不需要訂閱連線,原因在於Sentinel與主伺服器,從伺服器建立訂閱連線的目的就是為了獲得其他Sentinel的資訊,而Sentinel之間只需要通訊即可。

我有一壺酒 足以慰風塵 盡傾江海里 贈飲天下人