數據庫高可用架構(MySQL、Oracle、MongoDB、Redis)

一、MySQL

MySQL小型高可用架構

方案:MySQL雙主、主從 + Keepalived主從自動切換

服務器資源:兩臺PC Server

優點:架構簡單,節省資源

缺點:無法線性擴展,主從失敗之後需要手動恢復主從架構

MySQL中型高可用架構

方案:MMM + MySQL雙主 + 多從高可用方案

服務器資源:

1、至少五臺PC Server,2臺MySQL主庫,2臺MySQL從庫,1臺MMM Monitor;

2、1臺MMM Monitor選擇低配;

3、如果不採用F5作爲從庫的負載均衡器,可用2臺PC SERVER部署LVS或HAProxy+Keepalived組合來代替;

優點:雙主熱備模式,讀寫分離,SLAVE集羣可線性擴展

缺點:讀寫分離需要在程序端解決,Master大批量寫操作時會產生主從延時

MySQL大型高可用架構

主要思路:中間件+MySQL Sharding

如方案:Cobar等中間件+MySQL技術

圖片略。

另外,還分享些MySQL一些主流的高可用架構

1、MySQL雙主 + Keepalived主備自動切換方案(上面已有)

2、MySQL主從 + Keepalived主從自動切換方案(上面已有)

3、MMM+MySQL雙主 + 多從高可用方案(上面已有)

4、MySQL + Pecemaker(Heartbeat) + DRBD高可用

5、MySQL + RHCS 高可用方案

6、MySQL + Cluser 集羣架構

7、Percona Xtradb Cluster 集羣高可用性解決方案

8、中間件 + MySQL 大型集羣解決方案(上面已提到)

MySQL + Pecemaker(Heartbeat) + DRBD高可用 && MySQL + RHCS 高可用方案

Percona Xtradb Cluster 集羣高可用性解決方案

MySQL多機房部署架構參考

二、Oracle

1、Oracle ActiveDataGuard

服務器資源:2臺PC Server

1、Oracle自己的容災系統,數據庫完全冗餘保護,可跨IDC部署;

2、Oracle 11g 以上版本Standby可Redo模式打開,可作爲數據倉庫使用,也可以作爲備份數據庫;

3、可切換,一般會採用手動切換方式。

2、Oracle RAC

服務器資源:至少兩臺PC Server作爲RAC節點,SAN存儲一臺,

其他資源:光纖網絡環境

RAC的特性:

1、高可用性:保證只要有一個存活的節點,就不會斷業務,保持業務連續性

2、雙機雙工:RAC是並行模式工作的,節點間關係是Active對Active,每個節點都能爲客戶端提供服務

3、易伸縮:RAC的增加、刪除節點非常方便

4、高吞吐量:節點數量和吞吐量是正比關係

3、Oracle MAA

方案:RAC+ASM+Standby(RAC)部署

服務器資源:RAC所需要資源*2

其他資源:異地機房

備註:MAA實質上就是RAC+DataGuard的結合體。

Oracle還有很多其他高可用架構,比如結合Oracle Golden Gate做複製等等……

三、MongoDB

MongoDB高可用架構

方案:MongoDB複製集+Sharding分片

服務器資源:

1、9臺:6臺PC Server作爲shared節點,3臺作爲仲裁節點,三個Mongos和Config各部署在三個Shared節點上,如上圖;

2、橫向擴展分片,一組分片由3臺PC Server構成;

3、仲裁節點服務器不存儲實際數據,因此低配即可。

備註:

1、考慮到高可擴展問題,放棄MongoDB主從複製方案;

2、對數據安全要求非常高的業務,每組分片可由5臺PC Server構成;

3、建議開發人員結合業務選出最合適的片鍵。

四、Redis

Redis小型高可用架構

方案:Redis主從複製+Keepalived實現Failover

服務器資源:兩臺PC Server

優點:架構簡單,節省資源

缺點:主從切換有間隔,這期間客戶端將收到錯誤

方案:Redis Sentinel實現Failover

服務器資源:

1、兩臺PC Server部署Redis,一臺Redis Sentinel;

2、Redis可選擇一主多從架構;

3、一臺Redis Sentinel選擇低配。

優點:Redis官方自帶HA方案,Redis作者所編寫,具備

缺點:發生Failover之後,客戶端需要手動更正地址

Redis中型高可用架構

方案:Redis主從+Haproxy負載均衡

服務器資源:至少3臺PC Server部署Redis主從,兩臺PC Server部署Haproxy

優點:讀寫分離,橫向擴展Slave

缺點:Master爲單點

Redis大型高可用架構

方案:Twemproxy實現Redis存儲分片

服務器資源:至少6臺PC Server部署Redis主從,至少3臺PC Server部署Twemproxy,2臺PC Server部署HAProxy

優點:分片,負載均衡,Redis和Twemproxy都可以橫向擴展

缺點:Twemproxy所存在的缺點:

1、Twemproxy節點擴展,原來的數據需要重新處理分佈,避免出現找不到key值;

2、擴展Redis節點,數據不會自動均勻分佈,而需人工處理。

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