架構設計(二):數據庫複製

架構設計(二):數據庫複製

作者:Grey

原文地址:

博客園:架構設計(二):數據庫複製

CSDN:架構設計(二):數據庫複製

架構設計(一):從單服務器模式到負載均衡設計中提到了數據庫類型的選擇,

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

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

img

以上架構的優勢是

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

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

  • 高可用性。通過在不同地點複製數據,即使一個數據庫脫機,網站仍然可以運行,因爲你可以訪問存儲在另一個數據庫服務器的數據。

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

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

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

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

img

參考資料

System Design Interview

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章