架構設計(二):資料庫複製
作者:Grey
原文地址:
在架構設計(一):從單伺服器模式到負載均衡設計中提到了資料庫型別的選擇,
針對大資料量,高可用的場景,資料庫複製是一種比較好的方式,其中多個資料庫例項之間可以是主/從關係。
主資料庫通常只支援寫操作。從資料庫從主資料庫獲得資料的副本,只支援讀操作。所有修改資料的命令,如插入、刪除或更新,必須傳送到主資料庫。大多數
應用要求的讀和寫的比例要高得多;因此,系統中的從屬資料庫的數量通常比主資料庫的數量多。以下是主/從資料庫架構的示例圖。
以上架構的優勢是
-
更好的效能。在主從模式中,所有的寫和更新都發生在主節點;而讀操作則分佈在從節點上。這種模式提高了效能,因為它允許更多的查詢被並行處理。
-
可靠性。如果你的一個資料庫伺服器被自然災害摧毀,資料仍然被儲存下來。不需要擔心資料丟失,因為資料是在多個地點複製的。
-
高可用性。透過在不同地點複製資料,即使一個資料庫離線,網站仍然可以執行,因為你可以訪問儲存在另一個資料庫伺服器的資料。
以上架構中,存在某個資料庫服務掛了的情況,有如下兩種情況
-
某個從資料庫掛了,這個時候,如果是還有其他從資料庫可用的情況下,讀取操作將被重定向到其他健康的從資料庫,但是如果掛掉的是唯一的一個從資料庫的話,讀操作會被暫時引導到主資料庫。
-
某個主資料庫掛了,那麼一個從資料庫將被提升為新的主資料庫。所有的資料庫操作將暫時在新的主資料庫上執行。
結合架構設計(一):從單伺服器模式到負載均衡設計中的架構圖,增加資料庫複製內容以後,整個系統架構設計如下