架構設計(二):資料庫複製

Grey Zeng發表於2022-12-14

架構設計(二):資料庫複製

作者:Grey

原文地址:

部落格園:架構設計(二):資料庫複製

CSDN:架構設計(二):資料庫複製

架構設計(一):從單伺服器模式到負載均衡設計中提到了資料庫型別的選擇,

針對大資料量,高可用的場景,資料庫複製是一種比較好的方式,其中多個資料庫例項之間可以是主/從關係。

主資料庫通常只支援寫操作。從資料庫從主資料庫獲得資料的副本,只支援讀操作。所有修改資料的命令,如插入、刪除或更新,必須傳送到主資料庫。大多數
應用要求的讀和寫的比例要高得多;因此,系統中的從屬資料庫的數量通常比主資料庫的數量多。以下是主/從資料庫架構的示例圖。

img

以上架構的優勢是

  • 更好的效能。在主從模式中,所有的寫和更新都發生在主節點;而讀操作則分佈在從節點上。這種模式提高了效能,因為它允許更多的查詢被並行處理。

  • 可靠性。如果你的一個資料庫伺服器被自然災害摧毀,資料仍然被儲存下來。不需要擔心資料丟失,因為資料是在多個地點複製的。

  • 高可用性。透過在不同地點複製資料,即使一個資料庫離線,網站仍然可以執行,因為你可以訪問儲存在另一個資料庫伺服器的資料。

以上架構中,存在某個資料庫服務掛了的情況,有如下兩種情況

  • 某個從資料庫掛了,這個時候,如果是還有其他從資料庫可用的情況下,讀取操作將被重定向到其他健康的從資料庫,但是如果掛掉的是唯一的一個從資料庫的話,讀操作會被暫時引導到主資料庫。

  • 某個主資料庫掛了,那麼一個從資料庫將被提升為新的主資料庫。所有的資料庫操作將暫時在新的主資料庫上執行。

結合架構設計(一):從單伺服器模式到負載均衡設計中的架構圖,增加資料庫複製內容以後,整個系統架構設計如下

img

參考資料

System Design Interview

相關文章