高可用HA(high available),指的是經過儘可能縮短因平常維護操做和突發的系統崩潰所致使的停機時間,以提升系統和應用的可用性。數據庫
其中一個實現高可用的方式就是採用兩臺機器完成同一個功能,好比數據庫服務器。平時一臺機器對外提供服務,另一臺機器做爲熱備,在主數據庫服務器出現問題時,自動切換到熱備的從服務器緩存
心跳,定時像服務器發送一個數據包進行請求,若是規定時間內服務器沒有數據響應則認定爲發生故障,實施切換到熱備份的機器上服務器
虛擬IP,就是一個未分配給真實主機的IP地址,就是說一個對外提供服務的數據庫服務器除了有一個真實IP地址外還有一個虛擬IP,使用這兩個IP中的任意一個均可以鏈接到這臺主機。項目中的數據庫鏈接項數據庫地址都配置這個虛擬IP,當服務發生故障沒法對外提供服務時,動態將這個虛IP切換到備用主機網絡
ARP是地址解析協議,做用是將一個IP地址轉換爲MAC地址,而後給傳輸層使用spa
每臺主機都有一個ARP高速緩存,存儲同一個網絡內的IP地址和MAC地址的對應關係,以太網中的主機發送數據時會先從這個緩存中查詢目標IP對應的MAC地址,會向這個MAC地址發送請求數據包。操做系統會自動維護這個緩存操作系統
好比在實際的業務中,存在物理機A(ip192.168.192.54)和物理機B(ip192.168.192.40),A做爲對外的服務器(主服務器),B做爲從服務器,兩臺機器之間的通訊經過Heartbeat,就是說主服務器會定時的給備份服務器發送數據包,告知主服務器服務正常,當備份服務器沒有收到主服務器的Heartbeat,就會認爲主服務器宕機,則從服務器就會升級成爲主服務器blog
假設物理機A的ARP緩存以下:ip
B物理機的ARP緩存信息以下:路由
當B機器經過Heartbeat得知A機器對外服務不可用的時候,會將本身的ARP緩存發送出去,來路由器修改路由表,告知虛擬地址應該指向我(物理機B),外界再次訪問虛擬IP的時候,機器B會變成主服務器,而A降級爲備份服務器。這樣就完成了一次主從切換it