MySQL-主從複製簡介

Anbang713發表於2018-10-14

一、背景

我們一般應用對資料庫而言都是“讀多寫少”,也就說對資料庫讀取資料的壓力比較大,有一個思路就是說採用資料庫叢集的方案,其中一個是主庫,負責寫入資料,我們稱之為:寫庫;其它都是從庫,負責讀取資料,我們稱之為:讀庫。

由上述的主從架構,我們必須做到的是:

(1)讀庫和寫庫的資料一致。

(2)寫資料必須寫到寫庫。

(3)讀資料必須到讀庫。

二、解決方案

通常情況下,解決讀寫分離的方案有兩種:應用層解決和中介軟體解決。

2.1、應用層解決

優點:

(1)多資料來源切換方便,由程式自動完成;

(2)不需要引入中介軟體;

(3)理論上支援任何資料庫。

缺點:

(1)由程式設計師完成,運維參與不到;

(2)不能做到動態增加資料來源。

2.2、中介軟體解決

優點:

(1)源程式不需要做任何改動就可以實現讀寫分離;

(2)動態新增資料來源不需要重啟程式。

缺點:

(1)程式依賴於中介軟體,會導致切換資料庫變得困難;

(2)由中介軟體做了中轉代理,效能有所下降;

兩種方案都有自己的優缺點,實際專案中也可以針對實際情況採用哪種解決方案,就博主所在公司負責的專案目前是第一種,即應用層上實現主從複製。

接下來我們會陸續學習如何在windows搭建兩個MySQL資料庫,以及使用Spring實現主從分離。

相關文章