MySQL資料庫的集群解決方案(一)

2021-10-03 03:18:28 字數 832 閱讀 9645

讀寫分庫架構

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

那麼,對我們的要求是: 

1. 讀庫和寫庫的資料一致; 

2. 寫資料必須寫到寫庫; 

3. 讀資料必須到讀庫;

架構

從該系統架構中,可以看出:

這種架構存在2個問題:

1、應用程式需要連線到多個節點,對應用程式而言開發變得複雜

2、主從之間的同步,是非同步完成,也就意味著這是 弱一致性

中介軟體通過上面的架構,可以看出,應用程式會連線到多個節點,使得應用程式的複雜度會提公升,可以通過中介軟體方式解 決,如下:

從架構中,可以看出:

該架構也存在問題,中介軟體的效能成為了系統的瓶頸,那麼架構可以改造成這樣

這樣的話,中介軟體的可靠性得到了保證,但是也帶來了新的問題,應用系統依然是需要連線到

2個中介軟體,又為應用

系統帶來了複雜度。

MySQL資料庫的集群解決方案(二)

負載均衡 為了解決以上問題,我們將繼續優化架構,在應用程式和中介軟體之間增加proxy 由 來完成負載均衡的功能,應用程式只需要對接到proxy即可。proxy分發可以是隨機也可以是輪循 中介軟體比 做的事情要多,只做 壓力小。pxc集群架構 在前面的架構中,都是基於mysql主從的架構,那麼在主從...

mysql資料庫亂碼解決方案

導致往資料庫插入中文資料,出現亂碼問題的原因與下列幾個因素有關 1.客戶端編碼 2.連線編碼 3.資料庫編碼 例如,如果想以gb2312的編碼格式往資料庫存入中文資料,那麼首先用以向指 定資料庫傳送資料的客戶端的編碼必須是gb2312 其次,連線指定資料庫 的連線編碼也必須是gb2312 最後資料庫...

資料庫集群和高可用解決方案

概述 盡可能的讓資料庫處於可用狀態。提供高可用解決方案要考慮的因素 1 rto recovery time objective 允許的離線時間,2 rpo recovery point objective 允許的資料丟失量 rto和pro統稱為 sla service level agrement ...